当语言环境需要逗号 (1,7) 时,处理带有点 (1.7) 的小数点粘贴

Dr.*_*ini 6 spreadsheet openoffice-calc microsoft-excel libreoffice-calc

我有一个数据源,其中点用作小数点分隔符,即 :1.49表示“一个和几乎一半”。不能改变它。

此数字必须复制粘贴到 Excel 或 Calc 中的数字单元格中。该文件是公开的,任何人都可以获取(在此处获取),因此我无法控制用户 PC/程序。

大多数用户是意大利语,使用 it_IT 语言环境,其中小数以逗号分隔,即 :1,49表示“一个和几乎一半”(注意逗号而不是点)。

当意大利语言环境用户尝试1.49从数据源复制粘贴到他/她的数字单元格时,Calc/Excel 会变成香蕉,因为它无法将数字识别为小数。

如果我在单元格上设置语言,则一切正常......直到我关闭程序。如果我再次打开文档,设置将丢失并且不再起作用

在此处输入图片说明

所以,我的问题:

  1. 无论用户定义的语言环境如何,是否可以将文件/工作表的语言环境强制为“en_US”?
  2. 是否可以使 Language 属性保持不变?
  3. 还有其他想法吗?(请不要“要求您的用户更改设置”)

如果可能的话,我宁愿避免使用宏。

谢谢!

更新:我在 Windows 10 x64 上,我刚刚升级到 LibreOffice 5.4.4 x64。每个单元格的语言设置仍然没有被保存。我什至不清楚它是应该被保存还是只是一个视图设置(猜测是前者,因为当我这样做时保存按钮会亮起......)

Dr.*_*ini 2

我在 TurboLab.it 的朋友提出了迄今为止最好的解决方案:

  1. 将设计用于接受用户输入的单元格设置为“文本”
  2. 在附近的临时单元格中,用逗号替换点,例如=SUBSTITUTE(E16;".";",")
  3. 对替换值进行数学计算
  4. 如果需要的话重新转换它

对于感兴趣的人来说,最终文件可以在这里找到

唯一的主要缺点是,只有当用户所在的区域设置中“逗号”是小数点分隔符(例如意大利语)时,这才有效。

HTH。