如果JS变量上有一个非整数(十进制)整数,你会怎么做才能分隔数字和小数,这样你就可以在CSS中单独设置它们的样式?是否有一个神奇的JQuery /插件/库?
http://jsfiddle.net/vm7488/1ggbow5b/
(你可以说,一个精心设计的JSFiddle在这里真的乞求答案)
目前,推动力推进 - 我打算做一个var等于零(varia % 1 != 0
)条件的var模数并从中锻炼一些东西,但是如果有什么东西,比如已经有了 - 制作,建立功能,这将是非常棒的帮助,谢谢!
答案 0 :(得分:3)
您可以使用Math.floor()
:
var integerPart = Math.floor(varia);
var fraction = varia - integerPart;
然后根据需要格式化这些。
如果你还需要否定,那么在这种情况下你应该使用Math.ceil()
,所以这样:
if (varia < 0) {
var integerPart = Math.ceil(varia);
var fraction = varia - integerPart;
} else {
// same as above
}
答案 1 :(得分:2)
查看小提琴的更新版本:
http://jsfiddle.net/abhiklpm/1ggbow5b/2/
function hey() {
//generate 25.50 and simply display it.
this.num = 25.50;
var parts = this.num.toString().split('.');
this.whole = parts[0];
this.dec = Number("."+parts[1]).toFixed(2).replace('0','');
this.num = this.whole + this.dec;
}
答案 2 :(得分:1)
像@TrueBlueAussie建议的那样保持简单。
var out = document.getElementById('out'),
text = '25.50',
parts = text.split('.');
out.textContent = 'Integer part: ' + parts[0] + '\nDecimal part: ' + (parts[1] || 0);
&#13;
<pre id="out"></pre>
&#13;
答案 3 :(得分:0)
你甚至不需要做任何数学,你可以使用RegEx将pence从磅中分开:
var RegEx = /([\d]+?)\.([\d]+)/g;
var Price = '25.50';
var StyledPrice = Price.replace(RegEx, '<div class="pound">$1</div><div class="dot">.</div><div class="pence">$2</div>');
$('div').html(StyledPrice);
Xotic750的答案更好,因为它的速度稍快:Example
答案 4 :(得分:0)
如果将其作为数字处理 r。
var value = 25.50;
var integer = Math.floor(value); // = 25 var decimal = value - integer; // = .50
还包含字符串
var numbers = value.toString()。split(&#39;。&#39;);
然后你可以对数组索引位置执行转换。喜欢,
integer = parseInt(number [0]); fraction = parseInt(number [1]);