Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript从字符串中提取十进制数_Javascript_Regex_Jsp_Struts 1 - Fatal编程技术网

如何使用JavaScript从字符串中提取十进制数

如何使用JavaScript从字符串中提取十进制数,javascript,regex,jsp,struts-1,Javascript,Regex,Jsp,Struts 1,我想从字母数字字符串(比如金额)中提取十进制数265.12或0.0,该字符串的值$265.12+或$265.12-或$0.0+并在jsp中应用struts逻辑标记。不知道如何提取数字可能借助于JavaScript您可以像这样使用正则表达式 在没有错误检查的情况下,将执行以下操作: var string = "$123123.0980soigfusofui" var number = parseFloat(string.match(/[\d\.]+/)) 123123.098您可能对该库感兴趣

我想从字母数字字符串(比如金额)中提取十进制数
265.12
0.0
,该字符串的值
$265.12+
$265.12-
$0.0+
并在
jsp
中应用struts逻辑标记。不知道如何提取数字可能借助于
JavaScript

您可以像这样使用正则表达式


在没有错误检查的情况下,将执行以下操作:

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

123123.098

您可能对该库感兴趣,以便格式化货币

使用:

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

<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();">

函数验证(){
var金额=$(“#金额”).val();
警报(金额拆分(“.”[1]);
} 

一个更优雅的解决方案,也是一种避免
0.770000004
javascript数学的方法,请执行以下操作:

var num=15.3354;
数字(字符串(num).substr(字符串(num).indexOf('.')+1))

结果总是精确的小数位数。还有一个
原型
,便于使用

Number.prototype.getDecimals=函数(){
返回编号(字符串(this).substr(字符串(this).indexOf('.')+1));
}


所以现在只要
15.6655.getDecimals()=>6655

他怎么能在需要提取而不是打印的时候呢?有一个叫做unformat()的方法可以返回数字。例如,会计不可格式化(“12345678.90美元”);//12345678.9我相信正则表达式可以缩短为
/[\d.]+/
——这是在JS中偶然发现的
<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();">