我正在寻找将科学记数法数字转换为完整整数。
例如:
8.18234E+11 => 818234011668
Excel 重新格式化了 csv 中的所有 upc 代码和 this解决方案对我不起作用。
我在 Notepad++ 中打开了 csv,并且很乐意使用正则表达式查找和替换来执行此操作。
谢谢。
最佳答案
损坏已经造成,无法从 CSV 文件中恢复。 8.18234E+11
可以是从 818233500000
到 818234499999
的任何内容*。
为了防止 Excel 对大数字进行四舍五入,您需要将它们存储为文本。如果将单元格格式设置为文本,则从那时起插入的任何值都应自动解释为文本。在 OpenOffice Calc(我没有 MS Excel)中,您还可以在数值前加上 '
前缀,以将其解释为文本,无论单元格格式如何。
正确的值有可能存储在原始 XLS(或 XSLX 或 ODS 或实时 Excel session 或...)文件中。如果没有,那么您将必须再次输入数据。如果存在数据,您需要将其存储为文本或增加导出的 CSV 中的有效位数。如果您只有导出的数据,那么您就不走运了。
*UPC 有一个校验位,因此 1 000 000 个代码中只有 100 000 个实际上是有效的 UPC 代码。
关于regex - 使用 Notepad++ 中的正则表达式将科学记数法转换为文本或整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13727038/