为什么Excel将小数点后两位以上的数字解析为整数?
Why does Excel parse numbers with more than two decimal places as whole numbers?
Excel 使用 Windows 区域设置来获取 csv 文件的列表分隔符和小数分隔符。我正在尝试为法国和德国用户在我们的应用程序中本地化一些 csv 报告。我使用分号作为 csv 分隔符和逗号作为每个 csv 的法语和德语版本的小数点分隔符。
我已将本地 Windows 区域设置设置为使用分号和逗号作为小数点分隔符。当我在 Excel 中打开以下测试文件时,Excel 会根据我的区域设置正确解析具有 2 个或更少小数字符的数字。但是,具有 3 位或更多小数位的数字将被解析为整数。因此,字符串 12,3000 将被解析为 123 000(十二万三千)。
test.csv:
"Decimal Separator";"In Quotes";"Number"
"Period";"false";4.283333
"Period";"true";"4.283333"
"Period";"false";0.283333
"Period";"true";"0.283333"
"Comma";"false";4,283333
"Comma";"true";"4,283333"
"Comma";"false";0,283333
"Comma";"true";"0,283333"
"Period";"false";4.333
"Period";"true";"4.333"
"Period";"false";0.333
"Period";"true";"0.333"
"Comma";"false";4,333
"Comma";"true";"4,333"
"Comma";"false";0,333
"Comma";"true";"0,333"
"Period";"false";4.28
"Period";"true";"4.28"
"Period";"false";0.28
"Period";"true";"0.28"
"Comma";"false";4,28
"Comma";"true";"4,28"
"Comma";"false";0,28
"Comma";"true";"0,28"
"Period";"false";4.4
"Period";"true";"4.4"
"Period";"false";0.4
"Period";"true";"0.4"
"Comma";"false";4,4
"Comma";"true";"4,4"
"Comma";"false";0,4
"Comma";"true";"0,4"
"Period";"false";4
"Period";"true";"4"
"Period";"false";0
"Period";"true";"0"
"Comma";"false";4
"Comma";"true";"4"
"Comma";"false";0
"Comma";"true";"0"
"Period";"false";45623455454.283333
"Period";"true";"45623455454.283333"
"Period";"false";45623455450.283333
"Period";"true";"45623455450.283333"
"Comma";"false";45623455454,283333
"Comma";"true";"45623455454,283333"
"Comma";"false";45623455450,283333
"Comma";"true";"45623455450,283333"
"Period";"false";45623455454.28
"Period";"true";"45623455454.28"
"Period";"false";45623455450.28
"Period";"true";"45623455450.28"
"Comma";"false";45623455454,28
"Comma";"true";"45623455454,28"
"Comma";"false";45623455450,28
"Comma";"true";"45623455450,28"
有没有人对此有任何见解
如果您的区域设置设置为使用逗号作为 "Digit grouping symbol",您可能会遇到此问题。法语使用 space 字符进行数字分组,德语使用句点。
Windows --> 控制面板 --> 区域和语言 --> 数字 --> 附加设置 --> 数字分组符号 --> 设置为使用 space 字符
我认为您将数字分组符号也用作逗号。在欧洲通常用一个句点(或 space)来表示,所以百分之三千二十二将表示为 3.000,22.
我把小数点改为逗号,数字分组符改为句点,输入12,3000,Excel解释为十二和十分之三,这是应该的。
当我把两者都改成逗号时,同一个导入给了我十二万三千,如你所见。
Excel 使用 Windows 区域设置来获取 csv 文件的列表分隔符和小数分隔符。我正在尝试为法国和德国用户在我们的应用程序中本地化一些 csv 报告。我使用分号作为 csv 分隔符和逗号作为每个 csv 的法语和德语版本的小数点分隔符。
我已将本地 Windows 区域设置设置为使用分号和逗号作为小数点分隔符。当我在 Excel 中打开以下测试文件时,Excel 会根据我的区域设置正确解析具有 2 个或更少小数字符的数字。但是,具有 3 位或更多小数位的数字将被解析为整数。因此,字符串 12,3000 将被解析为 123 000(十二万三千)。
test.csv:
"Decimal Separator";"In Quotes";"Number"
"Period";"false";4.283333
"Period";"true";"4.283333"
"Period";"false";0.283333
"Period";"true";"0.283333"
"Comma";"false";4,283333
"Comma";"true";"4,283333"
"Comma";"false";0,283333
"Comma";"true";"0,283333"
"Period";"false";4.333
"Period";"true";"4.333"
"Period";"false";0.333
"Period";"true";"0.333"
"Comma";"false";4,333
"Comma";"true";"4,333"
"Comma";"false";0,333
"Comma";"true";"0,333"
"Period";"false";4.28
"Period";"true";"4.28"
"Period";"false";0.28
"Period";"true";"0.28"
"Comma";"false";4,28
"Comma";"true";"4,28"
"Comma";"false";0,28
"Comma";"true";"0,28"
"Period";"false";4.4
"Period";"true";"4.4"
"Period";"false";0.4
"Period";"true";"0.4"
"Comma";"false";4,4
"Comma";"true";"4,4"
"Comma";"false";0,4
"Comma";"true";"0,4"
"Period";"false";4
"Period";"true";"4"
"Period";"false";0
"Period";"true";"0"
"Comma";"false";4
"Comma";"true";"4"
"Comma";"false";0
"Comma";"true";"0"
"Period";"false";45623455454.283333
"Period";"true";"45623455454.283333"
"Period";"false";45623455450.283333
"Period";"true";"45623455450.283333"
"Comma";"false";45623455454,283333
"Comma";"true";"45623455454,283333"
"Comma";"false";45623455450,283333
"Comma";"true";"45623455450,283333"
"Period";"false";45623455454.28
"Period";"true";"45623455454.28"
"Period";"false";45623455450.28
"Period";"true";"45623455450.28"
"Comma";"false";45623455454,28
"Comma";"true";"45623455454,28"
"Comma";"false";45623455450,28
"Comma";"true";"45623455450,28"
有没有人对此有任何见解
如果您的区域设置设置为使用逗号作为 "Digit grouping symbol",您可能会遇到此问题。法语使用 space 字符进行数字分组,德语使用句点。
Windows --> 控制面板 --> 区域和语言 --> 数字 --> 附加设置 --> 数字分组符号 --> 设置为使用 space 字符
我认为您将数字分组符号也用作逗号。在欧洲通常用一个句点(或 space)来表示,所以百分之三千二十二将表示为 3.000,22.
我把小数点改为逗号,数字分组符改为句点,输入12,3000,Excel解释为十二和十分之三,这是应该的。
当我把两者都改成逗号时,同一个导入给了我十二万三千,如你所见。