how to extract decimal number from string using javascript

て烟熏妆下的殇ゞ 提交于 2019-12-01 09:41:52

You can use regex like this,

Live Demo

var amount = "$265.12+";
var doublenumber = Number(amount.replace(/[^0-9\.]+/g,""));

Without error checks, following will do:

var string = "$123123.0980soigfusofui"
var number = parseFloat(string.match(/[\d\.]+/))

123123.098

You might be interested in this library for formatting money http://josscrowcroft.github.com/accounting.js/

use :

var str = parseFloat("$265.12".match(/[\d\.]+/))
alert(str % 1); => 0.12000000000000455

Try this also,

<script type="text/javascript">
function validate(){
    var amount =  $("#amount").val();
    alert(amount.split(".")[1]);
} </script>
</head> 
<body>
<input type="hidden" name="amount" id="amount" value="25.50">
<input type="submit" onclick="validate();">

A more elegant solution and also a method to avoid the 0.7700000004 javascript math do this:

var num = 15.3354; Number(String(num).substr(String(num).indexOf('.')+1));

The result will always be the exact number of decimals. Also a prototype for easier use

Number.prototype.getDecimals = function () { return Number(String(this).substr(String(this).indexOf('.')+1)); }

so now just 15.6655.getDecimals() ==> 6655

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!