如何在 robotframework 中将“10.000,50”之类的字符串转换为浮点数 10000.50
How can I convert a string like "10.000,50" to float number 10000.50 in robotframework
如何在 robotframework
中将 10.000,50
之类的字符串转换为浮点数 10000.50
我试试这个
ParseFloat
[Arguments] ${String}
Execute JavaScript parseFloat(${String})
Replace
[Arguments] ${str}
Execute JavaScript ("" +${str}).replace(/\./g, "").replace(/,/g, ".")
但是没有得到我预期的结果
删除 .
个字符并将 ,
替换为 .
。 parseFloat
大功告成。
function strToFloat(str) {
return parseFloat(str.replace(/\./ig,'').replace(/,/ig,'.'))
}
console.log(strToFloat("10.000,50"))
使用 JavaScript 你可以使用 String.prototype.replace() to remove all the .
and than replace the only ,
by a dot. Finally return the 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()
函数可以 return NaN
。
如何在 robotframework
中将10.000,50
之类的字符串转换为浮点数 10000.50
我试试这个
ParseFloat
[Arguments] ${String}
Execute JavaScript parseFloat(${String})
Replace
[Arguments] ${str}
Execute JavaScript ("" +${str}).replace(/\./g, "").replace(/,/g, ".")
但是没有得到我预期的结果
删除 .
个字符并将 ,
替换为 .
。 parseFloat
大功告成。
function strToFloat(str) {
return parseFloat(str.replace(/\./ig,'').replace(/,/ig,'.'))
}
console.log(strToFloat("10.000,50"))
使用 JavaScript 你可以使用 String.prototype.replace() to remove all the .
and than replace the only ,
by a dot. Finally return the 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()
函数可以 return NaN
。