gpt4 book ai didi

JavaScript 值问题

转载 作者:行者123 更新时间:2023-12-03 04:52:05 25 4
gpt4 key购买 nike

我正在尝试为我的团队制作一个非常简单的自动价格估算器。

但是我已经写了一些内容,但我希望页数达到 + 5 并将其添加到价格中。

例如,如果想要 1 页,则价格为 +5;如果想要 3 页,则价格为 +15。

$('#type, #pages').on('keyup change',function(){
var page=$('#pages').val();
var type=$('#type').val();
var price= page + type ;
$('#price').val( price || 0 );
});


How many pages does the client want: <input id="pages"/>

<br><br>

<div class="styled-select">
<select name="dropdown" id="type">
<option value="0">Please Select...</option>
<option value="25">One Page Site</option>
<option value="15">Web Portal</option>
<option value="35">Multi-Site</option>
<option value="15">Other</option>
</select>
</div>
<br> <br>
Estimated Price of Project: <input id="result"/>

最佳答案

两个问题:

  1. 输入的值始终是字符串。在 JavaScript 中,+与字符串是连接(“1”+“2”=“12”)。例如,您需要首先将操作数转换为数字(注意 + 符号):

    var page = +$('#pages').val();   
    var type = +$('#type').val();

    一元 +只是将这些字符串转换为数字的一种方法,请参阅下文了解更多信息。

  2. 如果您想为每页添加 5 个,则需要 * ,不是+. As it happens, * converts its operands to numbers automatically (unlike +`),因此您可以在不显式转换的情况下逃脱(尽管显式转换是最好的)。

关于转换为数字:您的选择:

  • 一元 +运营商:value = +value将使用 JavaScript 引擎的标准规则将字符串强制转换为数字。字符串中的任何非数字(科学记数法的 e 除外)都会产生结果 NaN 。另外,+""0 ,这可能不太直观。

  • Number功能:value = Number(value) 。与 + 做同样的事情.

  • parseInt函数,通常带有基数(基数):value = parseInt(value, 10) 。这里的缺点是parseInt转换在字符串开头找到的任何数字,但忽略字符串后面的非数字,因此 parseInt("100asdf", 10)100 ,不是NaN 。顾名思义,parseInt仅解析整数。

  • parseFloat功能:value = parseFloat(value) 。允许小数值,并且始终以十进制形式工作(绝不是八进制或十六进制)。做同样的事情parseInt在字符串末尾处理垃圾,parseFloat("123.34alksdjf")123.34 .

因此,请选择适合您的用例的工具。 :-)

关于JavaScript 值问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42608323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com