如何将javaScript变量的整数和它的小数分开来单独设置它们?

时间:2015-02-09 09:58:55

标签: javascript jquery html css

如果JS变量上有一个非整数(十进制)整数,你会怎么做才能分隔数字和小数,这样你就可以在CSS中单独设置它们的样式?是否有一个神奇的JQuery /插件/库?

http://jsfiddle.net/vm7488/1ggbow5b/

(你可以说,一个精心设计的JSFiddle在这里真的乞求答案)

目前,推动力推进 - 我打算做一个var等于零(varia % 1 != 0)条件的var模数并从中锻炼一些东西,但是如果有什么东西,比如已经有了 - 制作,建立功能,这将是非常棒的帮助,谢谢!

5 个答案:

答案 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;
}

更新了评论小提琴:http://jsfiddle.net/abhiklpm/1ggbow5b/4/

答案 2 :(得分:1)

像@TrueBlueAussie建议的那样保持简单。

&#13;
&#13;
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;
&#13;
&#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);

EXAMPLE

更新

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]);