【问题标题】:How can I convert a string like "10.000,50" to float number 10000.50 in robotframework如何在机器人框架中将“10.000,50”之类的字符串转换为浮点数 10000.50
【发布时间】:2017-02-26 06:00:04
【问题描述】:

如何在机器人框架中将10.000,50 之类的字符串转换为浮点数10000.50

我试试这个

ParseFloat
    [Arguments]    ${String}
    Execute JavaScript    parseFloat(${String})

Replace
    [Arguments]    ${str}
    Execute JavaScript    ("" +${str}).replace(/\\./g, "").replace(/,/g, ".")

但是没有得到我期望的结果

【问题讨论】:

  • 你得到了什么结果?

标签: javascript python-2.7 robotframework


【解决方案1】:

使用 JavaScript,您可以使用 String.prototype.replace() 删除所有 .,然后将唯一的 , 替换为一个点。最后返回Number.prototype.toFixed()值:

String.prototype.toFloat = function() {
  var n = +this.replace(/\./g, '').replace(/,/, '.');
  return n.toFixed(2);
}

var n = '10.000,50'.toFloat();
console.log(n);

注意:如果字符串不是有效数字,String.prototype.toFloat() 函数可以返回 NaN

【讨论】:

    【解决方案2】:

    删除. 字符并将, 替换为.parseFloat 完成了。

    function strToFloat(str) {
      return parseFloat(str.replace(/\./ig,'').replace(/,/ig,'.'))
    }
    console.log(strToFloat("10.000,50"))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 2018-02-15
      • 2011-12-18
      • 1970-01-01
      相关资源
      最近更新 更多