我已经尝试了以下公式:Excel 2013(桌面版)和Excel Online,两者都返回了相同的奇怪结果。但是我已经尝试使用Google表格,并且在所有情况下都会返回预期的结果。
细胞:
(event.target as HTMLInputElement).value
在单元格B2中,我得到A2中数字的小数部分,它可以正常工作
A2 = 1937.7
C1 = 20
问题在于:
B2 = =(A2-INT(A2))*100
当A2中的分数为7时,结果为预期值(3),但当分数为8时,当预期值为4时,结果仍为3。
现在,如果我将A2的整数部分更改为1,那么在任何情况下都没有问题。
的链接答案 0 :(得分:0)
你遇到了所谓的“舍入错误”。对于Excel和大多数计算机电子表格程序使用的双精度数,A2-int(a2)不能在IEEE标准下精确表示为0.8。它存储为0.799999999999955。
您可以通过四舍五入到所需的精确度来纠正问题。
例如:
B2: =ROUND((A2-INT(A2))*100,0)
请参阅Floating Point Arithmetic may give inaccurate results in Excel