【问题标题】:Number with comma in QtQt中带逗号的数字
【发布时间】:2012-04-08 19:45:47
【问题描述】:

我尝试使用toFloat() 方法从QString 获取浮点数,但我获取的每个数字都会得到0。我认为数字格式错误,系统无法识别,我该如何为这些数字设置正确的格式:119,68648

【问题讨论】:

    标签: qt qt4 qstring


    【解决方案1】:

    请看http://qt-project.org/doc/qt-4.8/qlocale.html#toDouble

    这是文档中的示例代码:

    bool ok;
    double d;
    
    QLocale german(QLocale::German);
    d = german.toDouble( "1234,56", &ok );  // ok == true, d == 1234.56
    d = german.toDouble( "1.234,56", &ok ); // ok == true, d == 1234.56
    d = german.toDouble( "1234.56", &ok );  // ok == false
    
    d = german.toDouble( "1.234", &ok );    // ok == true, d == 1234.0
    

    【讨论】:

      【解决方案2】:

      您可以为您的应用程序设置一个小数点分隔符为逗号的语言环境。

      或者您可以在进行转换之前用点替换逗号,以便能够接受这两种数字格式。

      float value = yourString.replace(",", ".").toFloat();
      

      【讨论】:

      • 你能提供一个例子或链接吗?
      猜你喜欢
      • 2014-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多