修剪小数点前的数字

时间:2015-07-02 09:27:36

标签: javascript jquery

<li class="strong font-xs-12 font-sm-14 font-lg-16 red numTxt">£123.99</li>

我只想要显示价值£123,需要正确的Javascipt来“修剪”数字,而不是向下或向上舍入。我在这里看到了几种方法,但没有一种方法可以针对.class名称,在我的例子中.numTxt

如果有人能给我一个快速的小提琴,我会非常感激!

4 个答案:

答案 0 :(得分:2)

只需使用此正则表达式/\.\d+/

$.fn.trimDecimal = function(){
  
  $(this).text(function(a, text){
     return text.replace(/\.\d+/,"")
  })
  
}

$(".numTxt").trimDecimal();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<li class="strong font-xs-12 font-sm-14 font-lg-16 red numTxt">£123.99</li>
<li class="strong font-xs-12 font-sm-14 font-lg-16 red numTxt">£83.45</li>

要截断十进制数,您可以这样做:

var num = "123.99";
num = +num | 0;

console.log(num)

答案 1 :(得分:2)

您可以使用.text()回调函数修改旧文本:

$('li.numTxt').text(function(i,val){
    return  val.split(".")[0];
});

<强>

<强> Working Demo

答案 2 :(得分:2)

你在这里:

alert(document.querySelector('li').innerText.replace(/\.\d*/,''));

希望得到这个帮助。

答案 3 :(得分:2)

您可以使用 split()

轻松完成此操作
var str = "£123.99"
var res = str.split(".");

//res is now an array consisting of "£123" and "99"

工作示例:

$('button').click(function(){
    var str = $('#inp').val();
    var res = str.split(".");
   
    $('#output').html(res[0]);
});
input, button, div { display:block; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="inp" value="£123.99" />
<button>Split At Decimal</button>
<div id="output"></div>