【发布时间】:2015-11-02 19:38:08
【问题描述】:
Stata 有一个round() 函数。可以选择四舍五入的单位。我想使用round(ArbitraryValue, 0.01) 将任意浮点值四舍五入到小数点后两位。 Stata 的display 似乎明白这一点。但不知何故,round(ArbitraryValue, 0.01) 的内部表示仍然具有未舍入的浮点值:
. local LevelA = 99.98765432123321
. ttest mpg==20, level(`LevelA') <BR>
level() can have at most two digits after the decimal point <BR>
r(198);
. local LevelB = round(`LevelA',0.01)
. di `LevelB' <BR>
99.99
. ttest mpg==20, level(`LevelB') <BR>
level() must be between 10 and 99.99 inclusive <BR>
r(198);
. set trace on
. ttest mpg==20, level(`LevelB') <BR>
[SNIP]<BR>
= local 0 mpg = 20, level(**99.99000000000001**) <BR>
[SNIP] <BR>
r(198);
我对如何正确舍入有什么不明白的地方?
【问题讨论】: