javascript金额,JavaScript金额转换

javascript自动计算金额(计算结果只显示小数点后的两位)

JS保留两位小数

创新互联网站建设公司,提供网站制作、成都网站设计,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

对于一些小数点后有多位的浮点数,我们可能只需要保留2位,但js没有提供这样直接的函数,所以我们得自己写函数实现这个功能,代码如下:

function changeTwoDecimal(x)

{

var f_x = parseFloat(x);

if (isNaN(f_x))

{

alert('function:changeTwoDecimal-parameter error');

return false;

}

var f_x = Math.round(x*100)/100;

return f_x;

}

功能:将浮点数四舍五入,取小数点后2位

用法:changeTwoDecimal(3.1415926) 返回 3.14

changeTwoDecimal(3.1475926) 返回 3.15

js保留2位小数(强制)

对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:

changeTwoDecimal(3.1),将返回 3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:

function changeTwoDecimal_f(x)

{

var f_x = parseFloat(x);

if (isNaN(f_x))

{

alert('function:changeTwoDecimal-parameter error');

return false;

}

var f_x = Math.round(x*100)/100;

var s_x = f_x.toString();

var pos_decimal = s_x.indexOf('.');

if (pos_decimal 0)

{

pos_decimal = s_x.length;

s_x += '.';

}

while (s_x.length = pos_decimal + 2)

{

s_x += '0';

}

return s_x;

}

功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,这个函数返回的是字符串的格式

用法:changeTwoDecimal(3.1415926) 返回 3.14

changeTwoDecimal(3.1) 返回 3.10

如何使用Javascript格式化数字,金额,舍入舍去

首先我们看看最简单的实现方法,需要达到这样的目的。

输入一串数字或者字符串,最后返回格式化后的字符串,每隔3位用逗号分隔,通过四舍五入保留小数点后2两位。

我们来分析下方法的实现过程。

替换掉原本传入数据中可能出现的'$'和',',然后判断是否为数字。

判断传入的数字是正数还是负数。

判断小数位数的舍入性。

每隔三位,添加一个逗号。

重新拼接字符串,正负号+整数位+小数点+小数位

js 金额用,隔开(千分位加逗号) 例如 100,222.123

numFormat(num) {

    var c = (num.toString().indexOf ('.') !== -1) ? num.toLocaleString() : num.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');

    return c;

}

console.log(this.numFormat(20181029.120))

//格式化钱数,三位加一逗号

function toThousands(number) {

number = number +"";

number = number.replace(/\,/g, "");

if(isNaN(number) || number == "")return "";

number = Math.round(number * 100) / 100;

if (number 0)

    return '-' + outputdollars(Math.floor(Math.abs(number) - 0) + '') + outputcents(Math.abs(number) - 0);

else

    return outputdollars(Math.floor(number - 0) + '') + outputcents(number - 0);

}

//格式化金额

function outputdollars(number) {

if (number.length = 3)

    return (number == '' ? '0' : number);

else {

    var mod = number.length % 3;

    var output = (mod == 0 ? '' : (number.substring(0, mod)));

    for (i = 0; i Math.floor(number.length / 3); i++) {

        if ((mod == 0) (i == 0))

            output += number.substring(mod + 3 * i, mod + 3 * i + 3);

        else

            output += ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);

    }

    return (output);

}

}

function outputcents(amount) {

amount = Math.round(((amount) - Math.floor(amount)) * 100);

return (amount 10 ? '.0' + amount : '.' + amount);

}

Javascript自动计算金额

你看下面这样就可以:

单价:input name="a" type="text" id="a" onBlur="c.innerHTML=a.value*b.value"br

数量:

input name="b" type="text" id="b" value="3" disabledbr

总金额:span id="c"/span

js怎么把数字金额转换中文大写金额

//代码如下所示:

function convertCurrency(money) {

//汉字的数字

var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖');

//基本单位

var cnIntRadice = new Array('', '拾', '佰', '仟');

//对应整数部分扩展单位

var cnIntUnits = new Array('', '万', '亿', '兆');

//对应小数部分单位

var cnDecUnits = new Array('角', '分', '毫', '厘');

//整数金额时后面跟的字符

var cnInteger = '整';

//整型完以后的单位

var cnIntLast = '元';

//最大处理的数字

var maxNum = 999999999999999.9999;

//金额整数部分

var integerNum;

//金额小数部分

var decimalNum;

//输出的中文金额字符串

var chineseStr = '';

//分离金额后用的数组,预定义

var parts;

if (money == '') { return ''; }

money = parseFloat(money);

if (money = maxNum) {

//超出最大处理数字

return '';

}

if (money == 0) {

chineseStr = cnNums[0] + cnIntLast + cnInteger;

return chineseStr;

}

//转换为字符串

money = money.toString();

if (money.indexOf('.') == -1) {

integerNum = money;

decimalNum = '';

} else {

parts = money.split('.');

integerNum = parts[0];

decimalNum = parts[1].substr(0, 4);

}

//获取整型部分转换

if (parseInt(integerNum, 10)  0) {

var zeroCount = 0;

var IntLen = integerNum.length;

for (var i = 0; i  IntLen; i++) {

var n = integerNum.substr(i, 1);

var p = IntLen - i - 1;

var q = p / 4;

var m = p % 4;

if (n == '0') {

zeroCount++;

} else {

if (zeroCount  0) {

chineseStr += cnNums[0];

}

//归零

zeroCount = 0;

chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];

}

if (m == 0  zeroCount  4) {

chineseStr += cnIntUnits[q];

}

}

chineseStr += cnIntLast;

}

//小数部分

if (decimalNum != '') {

var decLen = decimalNum.length;

for (var i = 0; i  decLen; i++) {

var n = decimalNum.substr(i, 1);

if (n != '0') {

chineseStr += cnNums[Number(n)] + cnDecUnits[i];

}

}

}

if (chineseStr == '') {

chineseStr += cnNums[0] + cnIntLast + cnInteger;

} else if (decimalNum == '') {

chineseStr += cnInteger;

}

return chineseStr;

}

javascript的控制金额变化的问题

!DOCTYPE html

html

head

meta charset="UTF-8"

titleDocument/title

/head

body

div id="inputBtn"

input type="text" placeholder="1"

/div

span¥5306.00/span

script

var inputnums = document.getElementsByClassName("inputnum");

var totals = document.getElementsByClassName("total");

for(var i = 0;i  inputnums.length;i++){

totals[i].num=parseFloat(totals[i].innerText.replace("¥",""));

inputnums[i].onchange = function(o,o2){

return function(){

var num = o.value;

if(isNaN(num)) num = 1;

if(num  1) num = 1;

if(num  100){

alert("兄die!钱多花不完,我来帮你啊!!!");

num = 100;

}

o.value = num;

o2.innerText = "¥"+(parseFloat(o2.num)*num).toFixed(2);

}

}(inputnums[i],totals[i]);

}

/script

/body

/html


网站标题:javascript金额,JavaScript金额转换
浏览地址:http://hbruida.cn/article/phdpss.html