在埃菲尔铁塔中,你如何做到这一点。
118.1999999999999
打印到:
118.20
在其他语言中,这只是 printf 的问题,但在 Eiffel 中似乎没有办法轻松做到这一点。
您应该使用类 FORMAT_DOUBLE
local
fd: FORMAT_DOUBLE
do
create fd.make (5, 3)
print (fd.formatted ({REAL_64} 12345.6789)) --> "12345.679"
print (fd.formatted ({REAL_64} 12345.6)) --> "12345.600"
print (fd.formatted ({REAL_64} 0.6)) --> "0.600"
create fd.make (10, 2)
fd.right_justify
print (fd.formatted ({REAL_64} 1.678)) --> " 1.68"
create fd.make (20, 3)
fd.right_justify
print ("[" + fd.formatted ({REAL_64} 12345.6789) + "]%N") --> [ 12345.679]
fd.left_justify
print ("[" + fd.formatted ({REAL_64} 12345.6789) + "]%N") --> [12345.679 ]
fd.center_justify
print ("[" + fd.formatted ({REAL_64} 12345.6789) + "]%N") --> [ 12345.679 ]
等等 ...
还有一组模仿“printf”的类,您可以在以下位置找到它们http://www.amalasoft.com/downloads.htm http://www.amalasoft.com/downloads.htm我自己没有使用过它们,但这可能会满足您的需求。
这是使用 ECMA Eiffel (我不确定之前的响应来自哪里,但 DOUBLE 没有这样的函数“to_string_format”。DOUBLE 是 REAL_64 的旧名称
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)