我正在使用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
,以便我以后可以使用它?
答案 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中的数字,并再次返回所需的结果。