我无法在Excel中输入一个大的十进制数

时间:2015-04-23 15:00:41

标签: python export-to-excel

我正在使用Python,我使用此方法在Excel工作表中输入数字:

file_loc = "C:/Users/mahmoud/Desktop/Book1.xlsx"
new_sheet = pyexcel.get_sheet(file_loc)
new_sheet.row += [2, 'Series2', 'Possible', 25.00000000000000004, 0]
new_sheet.save_as(file_loc)

我的问题是它没有在Excel表格中输入25.00000000000000004,但是当我打开它时,请输入25。 但是当我将小数点数减少到25.000004时,它会正常输入。

有没有办法可以在Excel工作表中输入25.00000000000000004,以便我以后可以使用它?

2 个答案:

答案 0 :(得分:4)

根据excel的规格,数字精度限制为15位数。您列出的数字有18位精度 https://support.office.com/en-nz/article/Excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3

答案 1 :(得分:2)

不幸的是,Excel的8字节浮点数不允许超过15 significant digits,并且您的示例有19。

如果您不需要对它们执行数学运算,那么在Python中放置引号并将其视为文本字符串。 VBA可以使用一些12字节的十进制类型处理更多的小数位,因此您可以将字符串转换为VBA中的数字,并再次返回所需的结果。