为什么我的数字.val()变成字符串?

Realjoet

我正在尝试为自己构建一个财务计算器,并且似乎一切正常(控制台中没有错误),除了事实是它正在提取所有.val()数据并将其转换为字符串。我以为.val()会将值作为输入中表示的原始值拉出?如何将数据转换为整数?(哦,不用担心我还在为此工作的日期。

var financeCalc = function(e) {
    e.preventDefault();

//find date 
    var dateData = new Date();
    var month = dateData.getMonth()+1;
    var year = dateData.getFullYear();
    var date = year + "-" + month;
    var endDate = $('.endDate').val();
    var monthsLeft = endDate - date;

//monthly expenses
    var rent = $('.rent').val();
    var cable = $('.cable').val();
    var gas = $('.gas').val();
    var costcoBill = $('.costco').val();
    var kingSupersBill = $('.supers').val();

//CREDIT CARDS
    //wells fargo
    var wfCredit = 6000.00;
    var wfSpent = $('.wfSpent').val();

    //citi
    var citiCredit = 1000.00;
    var citiSpent = $('.citiSpent').val();

    //american express
    var amexCredit = 2000.00;
    var amexSpent = $('.amexSpent').val();

    //trek
    var trekCredit = 4000.00;
    var trekSpent = $('.trekSpent').val();

    //capital one buypower
    var buyPowerCredit = 2500.00;
    var buyPowerSpent = $('.buyPowerSpent').val();

    //chase freedom
    var chaseFreedomCredit = 2000.00;
    var chaseFreedomSpent = $('.chaseFreedomSpent').val();

    //discover
    var discoverCredit = 2500.00;
    var discoverSpent = $('.discoverSpent').val();

    //amazon
    var amazonCredit = 2500.00;
    var amazonSpent = $('.amazonSpent').val();

    //tuition
    var springTuition = $('.springTuition').val();
    var summerTuition = $('.summerTuition').val();

    //other expenses
    var otherExpenses = $('.otherExpenses').val();
    var emergencyExpenses = $('.emergencyExpenses').val();

//MONEY BROUGHT IN
    var madePay = $('.madePay').val();
    var otherIncome = $('.otherIncome').val();



//money available
    var savingsTotal = $('.wfTotal').val();
    var wfAvail = wfCredit - wfSpent;
    var buyPowerAvail = buyPowerCredit - buyPowerSpent;
    var citiAvail = citiCredit - citiSpent;
    var chaseFreedomAvail = chaseFreedomCredit - chaseFreedomSpent;
    var discoverAvail = discoverCredit - discoverSpent;
    var amazonAvail = amazonCredit - amazonSpent;




//CALCULATOR
    //credit owed
    var creditDue = wfSpent + citiSpent + trekSpent + buyPowerSpent + chaseFreedomSpent + discoverSpent + amazonSpent;
    console.log("Credit Due: " + creditDue);

    //total available
    var totalAvail = savingsTotal + wfAvail + buyPowerAvail + citiAvail + chaseFreedomAvail + discoverAvail + amazonAvail;
    console.log("Total Available: " + totalAvail);  

    //total due
    //var totalDue = (rent*monthsLeft) + (cable*monthsLeft) + (gas*monthsLeft) + (costcoBill*monthsLeft) + (kingSupersBill*monthsLeft) + springTuition + summerTuition + otherExpenses + emergencyExpenses;
    var totalDue = rent + cable + gas + costcoBill + kingSupersBill + springTuition + summerTuition + otherExpenses + emergencyExpenses;
    console.log("Total Due: " + totalDue);

    //total
    var total = totalAvail - totalDue;
    console.log("Total: " + totalDue);

    $('.totals__creditDue').html("Credit Due: " + creditDue);
    $('.totals__totalAvail').html("Total Available: " + totalAvail);
    $('.totals__totalDue').html("Total Due: " + totalDue);
    $('.totals__total').html("Total: " + total);

};

$(function(){
    $('.calculate').on('click', financeCalc);
});
水下的

...它正在提取所有.val()数据并转换为字符串。我以为.val()会将值作为输入中表示的原始值拉出?如何将数据转换为整数?

文本框值始终是文本。如果希望它们是数字,则需要用parseInt解析它们parseFloat

jQuery.val()实际上是在拉动输入中表示的“原始”,但是输入始终是文本,因此得到一个string

var rent = parseInt($('.rent').val());

或者

var rent = parseFloat($('.rent').val());

...会将转换string为javascript number

由于您要处理货币值,因此可能会想使用parseFloat但是,当您使用parseFloated数字进行数学运算时,您可能会遇到一些奇怪的值可能想看一下,以帮助您舍入到小数点后2位:

https://stackoverflow.com/a/1726662/304832

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在我的有角项目中,为什么iterated(ngFor)组件的索引变量变成字符串而不是数字

把字符串变成数字

为什么所有日期字符串都变成数字?

为什么我的Array在HTTP POST中变成字符串?

为什么我的列表在保存到 csv 并重新打开后变成字符串?Python

为什么我的字符串数组数组中的数据变成空值?

为什么 FormData.set 将我的数组变成字符串?

为什么在JavaScript中{} + {}变成“ [object Object] [object Object]”,但是[] + []变成空字符串?

如何| 和 + 能把字符串变成数字吗?

在Python中,为什么我可以将字符串乘以数字,但不能添加字符串和数字?

当字符串中的数字前面有反斜杠时,为什么会变成“ x0n”?

为什么TypeScript允许我添加字符串和数字?我可以预防吗?

如何拆分我的字符串“a!b!” 变成a!,b!在蟒蛇?

当我使用jquery.ajax到PHP脚本中发布时,为什么整数变成字符串

为什么我在Excel中将数字值读取为字符串

为什么这个打字稿函数假设我传递的是字符串而不是数字

连接数字和字符串为什么我得到这个结果

为什么我的正则表达式不匹配以下数字字符串?

为什么parseInt()无法正确转换我的数字字符串?

为什么我不能在子字符串中捕获一个以上的数字?

为什么我在Rails中将属性字符串转换为数字

为什么我的程序无法对整数字符串进行排序?

为什么我的输出字符串中的数字会被减去?

为什么我的bankMoney值变成NaN而不是数字

尝试绘制mpmath.pcfd时,为什么为什么我的'float()参数必须是字符串或数字,而不是'mpc'?

为什么我不能从此链接获取XML文档,为什么在字符串中我可以使所有标签括号都变成引号呢?

为什么-1j和0-1j变成不同的字符串?

为什么在使用json.dumps时python字典的int键变成字符串?

为什么在使用json.dumps时python字典的int键变成字符串?