使用Javascript:
var validate(s) = s.match ^( 100(?:\.0{1,2})? | 0*?\.\d{1,2} | \d{1,2}(?:\.\d {1,2})? )% $ != null;
var str = value.match(/\/\/%//g);
if(converted==NaN){
alert('Input was not a number');
}
else if(converted != null) {
var fracToDecimal = eval (value);
alert(fracToDecimal);
}
else if(converted = str) {
var percToDecimal = value/100;
alert(percToDecimal);
} }
Run Code Online (Sandbox Code Playgroud)
rfu*_*duk 51
所以你有一个字符串:50%
?怎么样:
var percent = "50%";
var result = parseFloat(percent) / 100.0;
Run Code Online (Sandbox Code Playgroud)
Roc*_*mat 10
如果你使用parseFloat
,它将读取字符串直到第一个非数字字符(the %
)
var x = '20.1%';
var y = parseFloat(x); // 20.1
Run Code Online (Sandbox Code Playgroud)
然后你可以检查它是否NaN
,并转换它.
if(!isNaN(y)){
y /= 100; // .201
)
Run Code Online (Sandbox Code Playgroud)
注意:您需要使用isNaN
,因为NaN === NaN
是false
(JavaScript是怪异).
更新:我看到你也在fracToDecimal
那里.你不需要那样做eval
.做一个简单的事split
.
var frac = '1/2';
var nums = frac.split('/');
var dec = nums[0]/nums[1];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30973 次 |
最近记录: |