输出最多 N 个小数位的数字,不四舍五入

Posted

技术标签:

【中文标题】输出最多 N 个小数位的数字,不四舍五入【英文标题】:Output a number up to N decimal places withoud rounding 【发布时间】:2018-10-12 02:11:56 【问题描述】:

如果我有数字 1.2348,并且我使用舍入函数将其四舍五入到小数点后 3 位,我会得到 1.235,但我想得到 1.234。如果我这样做了:

num=1.2348
print(str(num)[:5])

我会得到一个字符串,如果我尝试再次将该字符串转换回一个 int(因为我需要它是一个 int),它会引发一个 ValueError。

【问题讨论】:

你需要什么才能成为一个int?希望它不是 1.234,因为它永远不会是 int。 我的意思是浮动,你的回答有效,谢谢。 【参考方案1】:

这会做你想做的事:

>>> int(num*1000)/1000.0
1.234

除非您遇到舍入错误。

【讨论】:

以上是关于输出最多 N 个小数位的数字,不四舍五入的主要内容,如果未能解决你的问题,请参考以下文章

有关C++小数输出?

没有四舍五入小数的树枝数字格式

js取整,保留小数位数、四舍五入、科学记数法及去掉数字末尾多余的0

如何在不四舍五入的情况下显示 3 个小数点?

js精确到指定位数的小数

js保留小数位