Qt 小数分隔符

Posted

技术标签:

【中文标题】Qt 小数分隔符【英文标题】:Qt decimal separator 【发布时间】:2016-07-12 12:32:55 【问题描述】:

在许多(全部?)Qt gui 控件(如 QDoubleSpinBox)、QDoubleValidator 等 ',' 中用作小数分隔符。但是QString方法toFloat,toDouble使用'.'。为所有平台和本地人解决此冲突的最佳方法是什么?

【问题讨论】:

【参考方案1】:

Qt 使用系统语言环境来显示小部件中的数字,有时会有“,”作为小数分隔符。您可以使用QLocale::system().toDouble() 来获得依赖于语言环境的转换。

【讨论】:

同时写的:)。 “QLocale::system()。”相当于“QLocale()”? @Bleach 根据文档:“QLocale::QLocale()。构造一个使用默认语言环境初始化的 QLocale 对象。如果没有使用 setDefault() 设置默认语言环境,则此语言环境将是相同的作为 system() 返回的那个"【参考方案2】:

问题已解决。我使用 QLocale().toFloat() 安装 QString::toFloat()。

【讨论】:

以上是关于Qt 小数分隔符的主要内容,如果未能解决你的问题,请参考以下文章

Dygraphs,逗号作为小数分隔符

货币小数分隔符不起作用

Angularjs小数分隔符逗号

如何在 Google Charts 中指定小数点分隔符?

逗号作为小数分隔符空格作为千​​位分隔符C# [重复]

DecimalFormat - 没有小数分隔符