PHP圆精度bug?

时间:2015-06-03 04:25:06

标签: php rounding

这是一个我不明白的错误或数学问题吗?

round(58.900662, 2) => 58.9

最后一个零在哪里?

编辑: 在我看来,文档缺乏信息。

以下代码按预期执行

number_format(round(58.900662, 2), 2) => 58.90

2 个答案:

答案 0 :(得分:2)

如果该数字不是mvn release:prepare

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { NSString *text = @"your text"; CGSize maximumLabelSize = CGSizeMake(CELL_CONTENT_WIDTH, 9999); UITextField *textField = [[UITextField alloc] init]; textField.font = [UIFont systemFontOfSize:18]; textField.text = text; CGSize expectSize = [textField sizeThatFits:maximumTXTSize]; return expectSize.height + 40; } 会处理精确度,因为最后round在任何数学运算中都没有效果。

如果号码为0,则0将返回1.569

如果你想要round你可以使用 -

1.57

number_format()

答案 1 :(得分:1)

你告诉它将它四舍五入到小数点后第二位,即58.90。但是,58.90可以简化为58.9。它是相同的数字。

如果要强制显示两位小数,可以使用PHP的number_format()函数。