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

Nav*_*yar 1 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

p.s*_*w.g 5

相当直接的解决方案:

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

例如:

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
Run Code Online (Sandbox Code Playgroud)

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

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