如何在不四舍五入的情况下显示数字
我有这个数字:1234.5678(作为文本)
我需要这个数字为双精度,点后只有 2 个数字
,但没有对 1234.5678 中的数字进行四舍五入
- 我在 12.899999 中得到 1234.57
- 我得到 12.90
我该怎么做?
I have this number: 1234.5678 (as a text)
I need this number as double, with only 2 numbers after the dot
But without Round the number
in 1234.5678 - i get 1234.57
in 12.899999 - i get 12.90
How I can do it ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
你应该能够像这样得到你想要的东西:
You should be able to get what you want like this:
乘以100,取该数字的floor(),再除以100。
Multiply by 100, take floor() of the number, divide by 100 again.
您没有发布您想要的结果,但我假设您想要截断,以便您看到 1234.56 和 12.89。 尝试:
You didn't post the results you wanted, but I assume you want truncation, so that you'll see 1234.56, and 12.89. Try:
这是因为您无法将这些数字精确地表示为双精度数,因此转换、舍入然后重新打印为文本会导致精度损失。
请改用“十进制”。
This is because you can't represent these numbers exactly as doubles, so converting, rounding, and then reprinting as text results in a loss of precision.
Use 'decimal' instead.
这应该可以解决问题。
This should do the trick.
就拿这个浮点算术来说吧!
Take this floating point arithmetic!
这不行吗?
This doesn't work?