检测到数字后添加一个符号作为后缀
Add a symbol as suffix after detecting a number
我想用 % 为数字添加后缀,而不是前面的当前 ₹ 符号,同时也删除 .00 小数点。所以结果显示为 9% 而不是 ₹9.00
我不确定是否可以修改此脚本以满足我的需要。这是我的代码:
$('.percent').each(function() {
var monetary_value = $(this).text();
if ($.isNumeric(monetary_value) && (monetary_value < 100 || monetary_value.length == 2)) {
var i = new Intl.NumberFormat('en-IN', {
style: 'currency',
currency: 'INR'
}).format(monetary_value);
}
$(this).text(i);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div class="percent">9</div>
演示 JSFiddle:http://jsfiddle.net/4p98aw6u/
要执行您需要的操作,只需删除 Intl.NumberFormat()
的用法,并将 %
字符附加到值的末尾即可。
另请注意,在用于任何比较之前,使用 parseInt()
将 val()
显式转换为整数。
$('.percent').each(function() {
var monetary_value = parseInt($(this).text(), 10);
var i;
if (monetary_value && (monetary_value < 100 || monetary_value.length == 2)) {
i = monetary_value + '%';
}
$(this).text(i);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div class="percent">9</div>
正则表达式可能是完成这项工作的最简单方法,具体取决于输入
const monetary_value = $(this).text(); // ₹9.00
const converted_value = monetary_value.match(/\d+?./)[1] + "%"
参见 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match 特别是因为当匹配为空时你应该在上面添加一些错误检查
我想用 % 为数字添加后缀,而不是前面的当前 ₹ 符号,同时也删除 .00 小数点。所以结果显示为 9% 而不是 ₹9.00
我不确定是否可以修改此脚本以满足我的需要。这是我的代码:
$('.percent').each(function() {
var monetary_value = $(this).text();
if ($.isNumeric(monetary_value) && (monetary_value < 100 || monetary_value.length == 2)) {
var i = new Intl.NumberFormat('en-IN', {
style: 'currency',
currency: 'INR'
}).format(monetary_value);
}
$(this).text(i);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div class="percent">9</div>
演示 JSFiddle:http://jsfiddle.net/4p98aw6u/
要执行您需要的操作,只需删除 Intl.NumberFormat()
的用法,并将 %
字符附加到值的末尾即可。
另请注意,在用于任何比较之前,使用 parseInt()
将 val()
显式转换为整数。
$('.percent').each(function() {
var monetary_value = parseInt($(this).text(), 10);
var i;
if (monetary_value && (monetary_value < 100 || monetary_value.length == 2)) {
i = monetary_value + '%';
}
$(this).text(i);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div class="percent">9</div>
正则表达式可能是完成这项工作的最简单方法,具体取决于输入
const monetary_value = $(this).text(); // ₹9.00
const converted_value = monetary_value.match(/\d+?./)[1] + "%"
参见 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match 特别是因为当匹配为空时你应该在上面添加一些错误检查