相关疑难解决方法(0)

在Python中显示带有两个小数位的浮点数

我有一个函数采用浮点数参数(通常是带有一个有效数字的整数或小数),我需要输出一个带有两个小数位(5 - > 5.00,5.5 - > 5.50等)的字符串中的值.我怎么能用Python做到这一点?

python string floating-point programming-languages

107
推荐指数
9
解决办法
25万
查看次数

从十进制中删除尾随零

我有一个很长的小数列表,我必须根据某些条件调整因子10,100,1000,..... 1000000.当我乘以它们时,有时候我想摆脱无用的尾随零(虽然并不总是).例如...

from decimal import Decimal

# outputs 25.0,  PROBLEM!  I would like it to output 25
print Decimal('2.5') * 10

# outputs 2567.8000, PROBLEM!  I would like it to output 2567.8
print Decimal('2.5678') * 1000
Run Code Online (Sandbox Code Playgroud)

是否有一个函数告诉小数对象丢弃这些无关紧要的零?我能想到这样做的唯一方法是转换为字符串并使用正则表达式替换它们.

应该提一下我使用的是python 2.6.5

编辑发送者的好答案让我意识到我偶尔会得到一个像250.0这样的数字,当标准化时产生2.5E + 2.我想在这些情况下我可以尝试将它们排序并转换为int

python decimal

37
推荐指数
5
解决办法
4万
查看次数

Python中的字符串格式:显示没有小数点的价格

我有一个美元的价格,Decimal精确度为.01(到分).

我想以字符串格式显示它,就像有消息一样 "You have just bought an item that cost $54.12."

问题是,如果价格恰好是圆形的,我只想展示它没有美分,就像$54.

我怎样才能在Python中实现这一目标?请注意,我使用的是Python 2.7,所以我很乐意使用新式而不是旧式的字符串格式.

python decimal string-formatting

6
推荐指数
2
解决办法
3318
查看次数

Python格式化前导零和可选小数

我试图用以下方式在Python中格式化一些数字:

(number) -> (formatted number)
1 -> 01
10 -> 10
1.1 -> 01.1
10.1 -> 10.1
1.1234 -> 01.1
Run Code Online (Sandbox Code Playgroud)

我可以使用什么格式规范?

我尝试过:{:04.1f}如果没有小数部分,则不能正常工作,虽然{:0>2}只适用于整数,{:0.2g}但是如果没有小数部分则接近但不添加前导零并{:0>4.2g}添加太多零.

python

4
推荐指数
1
解决办法
335
查看次数

python中如何减少小数位数?

我对python不太了解,正在学习。

我有一个这样的变量,

a = 23.34853234
Run Code Online (Sandbox Code Playgroud)

我想减少点后的数字。就像我在下面提到的

a = 23.35
Run Code Online (Sandbox Code Playgroud)

请帮我。谢谢

python-2.7

3
推荐指数
1
解决办法
5525
查看次数

强制python打印一定数量的小数位

我有一个python程序,它需要一些浮点类型值并将其写入文件。

我将这些数字四舍五入到小数点后六位,然后在写入文件之前将其转换为字符串类型。

file.write(str(round(value,6)))
Run Code Online (Sandbox Code Playgroud)

但是,对于某些数字,写入文件的值采用以下格式。

e.g. 3e-06 or 4e-03
Run Code Online (Sandbox Code Playgroud)

如何避免这种情况,而是以十进制格式写出来,例如

0.000003 and 0.004000
Run Code Online (Sandbox Code Playgroud)

如何在小数点后精确打印6位数字。

python python-3.x

1
推荐指数
1
解决办法
236
查看次数