use*_*880 10 javascript jquery
我正在使用JavaScript验证十进制数.我刚刚使用NaN
var a = 12345.67是否有任何javascript函数来获取小数点前后的计数或值本身.
before() should return 1234
after() should return 67
Run Code Online (Sandbox Code Playgroud)
请不要建议子串!
Joh*_*ock 31
var a = 12345.67;
alert(a.toString().split(".")[0]); ///before
alert(a.toString().split(".")[1]); ///after
Run Code Online (Sandbox Code Playgroud)
这是一个简单的小提琴http://jsfiddle.net/qWtSc/
zzzzBov的建议是这样的
Number.prototype.before = function () {
var value = parseInt(this.toString().split(".")[0], 10);//before
return value ? value : 0;
}
Number.prototype.after = function () {
var value = parseInt(this.toString().split(".")[1], 10);//after
return value ? value : 0;
}
Run Code Online (Sandbox Code Playgroud)
用法
alert(a.before()); ///before
alert(a.after()); ///after
Run Code Online (Sandbox Code Playgroud)
Ale*_*yne 16
before简单.这只是一个向下的操作.
var before = function(n) {
return Math.floor(n);
};
Run Code Online (Sandbox Code Playgroud)
after没有字符串处理会更难.我的意思是你会怎么处理after(Math.PI)?毕竟,你不能保持一个无限数字的整数.
但是通过一些字符串处理它很容易,只是知道由于浮点数学的奇迹而不准确.
var after = function(n) {
var fraction = n.toString().split('.')[1];
return parseInt(fraction, 10);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26881 次 |
| 最近记录: |