javascript - 如何获得特定的最后一个十进制浮点值

标签 javascript

var fNum = parseFloat("32.23.45"); 结果是 32.23 但我需要最后一个小数点的字符串:23.45

例如,以下字符串应返回以下值:

  • "12.234.43.234"-> 43.234,
  • "345.234.32.34"-> 32.34 和
  • "234.34.34.234w"-> 34.34

最佳答案

一个相当直接的解决方案:

function toFloat(s) { 
    return parseFloat(s.match(/\d+(\.|$)/g).slice(-2).join('.')); 
}

例如:

toFloat("32.23.45")        // 23.45
toFloat("12.234.43.234")   // 43.234
toFloat("345.234.32.34")   // 32.34
toFloat("234.34.34.234w")  // 34.34

更新:这是一个替代版本,可以更有效地处理混合了非数字的字符串。

function toFloat(s) { 
    return parseFloat(s.match(/.*(\.|^)(\d+\.\d+)(\.|$)/)[2]); 
}

关于javascript - 如何获得特定的最后一个十进制浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22137807/

相关文章:

javascript - Angular 过滤器在 1.3 版本中无法正确过滤,在 1.5 版本中是否更好?

javascript - 在 React-Three-Fiber 中渲染索引缓冲区几何

javascript - 无法读取属性 innerHTML Javascript

javascript - 通过 for 循环向元素添加事件会导致所有元素仅影响循环中的最后一个元素

javascript - 在循环中多次使用 .trigger

javascript - 使用 HTML 和 Java 创建与 google 相同的搜索框

javascript - 将天数添加到日期选择器格式Date

javascript - 是的 - 逗号后允许两位数字,小数点的最小值和最大值

javascript - 谷歌 "change background image"链接如何工作?

javascript - 将类添加到样式组件