我试图从数据网格解析两个值。字段是数字,当它们有逗号(例如554,20)时,我无法获得逗号后的数字。我试过parseInt和parseFloat。我该怎么做呢?
当前回答
你试过这样做吗?: p
var str = '3.8';ie
alert( +(str) + 0.2 );
+(字符串)将字符串转换为浮点数。
方便的!
所以为了解决你的问题,你可以这样做:
var floatValue = +(str.replace(/,/,'.'));
其他回答
你试过这样做吗?: p
var str = '3.8';ie
alert( +(str) + 0.2 );
+(字符串)将字符串转换为浮点数。
方便的!
所以为了解决你的问题,你可以这样做:
var floatValue = +(str.replace(/,/,'.'));
Try
让STR ="554,20"; Let float = +str.replace(',','.'); Let int = str.split(',').map(x=>+x); console.log({浮动,int});
您可以使用此功能。它将用' '替换逗号,然后它将parsefloat值,之后它将再次调整value中的逗号。
function convertToFloat(val) {
if (val != '') {
if (val.indexOf(',') !== -1)
val.replace(',', '');
val = parseFloat(val);
while (/(\d+)(\d{3})/.test(val.toString())) {
val = val.toString().replace(/(\d+)(\d{3})/, '$1' + ',' + '$2');
}
}
return val;
}
如果有人正在寻找一种从任意字符串解析float的方法,
可以这样做:
function extractFloat(text) {
const match = text.match(/\d+((\.|,)\d+)?/)
return match && match[0]
}
extractFloat('some text with float 5.25') // 5.25
@GusDeCool或任何人试图替换超过一千个分隔符,一种方法是一个regex全局替换:/foo/g。记住这一点。是元字符,因此必须转义或将其放在括号中(\。或[])。这里有一个选择:
var str = '6.000.000';
str.replace(/[.]/g,",");
推荐文章
- 文档之间的区别。addEventListener和window。addEventListener?
- 如何检查动态附加的事件监听器是否存在?
- 如何写setTimeout与参数Coffeescript
- 将JavaScript字符串中的多个空格替换为单个空格
- JavaScript: override alert()
- 重置setTimeout
- 如何确保<select>表单字段被禁用时提交?
- 如何从SQL Server中的字符串中剥离所有非字母字符?
- jQuery有不聚焦的方法吗?
- 反应钩子-正确的方式清除超时和间隔
- TypeScript枚举对象数组
- 在React.js中正确的img路径
- 在React.js中更新组件onScroll的样式
- onClick ReactJS调用多个函数
- 如何在JavaScript中转义单引号(')?