如何分离javaScript变量's整数和它's decimal以分别设置样式

How do you separate a javaScript variable's Whole number and it's decimal to style them separately?

本文关键字:decimal 样式 设置 整数 变量 javaScript 何分离 分离      更新时间:2023-09-26

如果JS变量上有一个非整数(十进制)整数,您会如何将数字和十进制分开,以便在CSS中分别设置它们的样式?有没有一个神奇的JQuery/plugin/Library?

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

(你可以看出,一个精心设计的JSFiddle正在认真地乞求答案)

目前,事态发展到了紧要关头——我计划做一个不等于零的var模数1(varia % 1 != 0)条件,并从中锻炼一些东西,但如果有什么东西可以做到这一点,比如一个已经制作好的内置函数,那将是一个很棒的帮助,谢谢!

您可以使用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
}

查看小提琴的更新版本:

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/

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

var out = document.getElementById('out'),
    text = '25.50',
    parts = text.split('.');
out.textContent = 'Integer part: ' + parts[0] + ''nDecimal part: ' + (parts[1] || 0);
<pre id="out"></pre>

如果将其作为number处理

var值=25.50;

var integer=Math.floor(值);//=25var decimal=value-integer;//=。50

也适用于字符串

var numbers=value.toString().split('.');

然后可以对数组索引位置执行强制转换。比如

integer=parseInt(数字[0]);fraction=parseInt(数字[1]);

你甚至不需要做任何数学运算,你只需要使用RegEx从英镑中分割便士:

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的答案更好,因为它稍微更快:示例