我正在制作一个程序,在用户用java脚本输入的值中添加10%。
我的HTML代码
use="optional"
我的java脚本代码
<input id='new' onKeyUp='doit()' name='hello' onkeydown='doit()' value='' placeholder='Type a numeric value' />
<input id='new1' value='' placeholder='final value' />
给出输入100预期输出为110但实际输出为10010
虽然我按规则添加.... w3schools example
请告诉我我哪里错了........................
答案 0 :(得分:3)
实际上document.getElementById('input_element')。value将返回一个字符串。在JS操作中的数学表达式,例如/
*
-
将很好,例如数学,但+
实际上连接c = a + b
的字符串(如果有的话){ {1}}或a
是字符串b
,如果c
和a
都是数字b
,则c
将成为连接值。 。要避免在添加到另一个数字之前执行parseInt()
或乘以1。我已将*1
添加到var newamount=sum*1 + extra;
您还可以使用var newamount=parseInt(sum) + extra;
小部件在下面添加:
function doit()
{
var sum=document.getElementById('new').value;
var extra=sum/10;
var newamount=sum*1 + extra;
document.getElementById('new1').value=newamount;
}
<input id='new' onKeyUp='doit()' name='hello' onkeydown='doit()' value='' placeholder='Type a numeric value' />
<input id='new1' value='' placeholder='final value' />
答案 1 :(得分:2)
试试这个:
function doit()
{
var sum=document.getElementById('new').value;
var extra=parseInt(sum)/10;
var newamount=parseInt(sum) + extra;
document.getElementById('new1').value=newamount;
}
答案 2 :(得分:0)
DO parseInt()
var newamount=parseInt(sum) + parseInt(extra);
答案 3 :(得分:0)
使用parseInt js.do
function doit()
{
var sum=document.getElementById('new').value;
var extra=sum/10;
var newamount=parseInt(sum) + extra;
document.getElementById('new1').value=newamount;
}
答案 4 :(得分:0)
使用parseInt
功能将sum
转换为数字,以便sum + extra
不会连接这两个数字,但会以数字方式添加它们。
var sum = parseInt(document.getElementById('new').value);
答案 5 :(得分:0)
在Javascript中使用parseInt
。
我正在用parseInt编写你的代码。
function doit()
{
var sum=document.getElementById('new').value;
var extra=parseInt(sum)/10;
var newamount=parseInt(sum) + parseInt(extra);
document.getElementById('new1').value=newamount;
}
让我知道它是否有用
答案 6 :(得分:0)
document.getElementById('textId').value
返回一个String,表示文本字段的值,但不是Fixnum / Numeric类型。因此,在应用任何算术之前,您必须将其转换为数字类型。
答案 7 :(得分:0)
使用parseFloat()而不是parseInt(),因为parseInt只输出整数。试试这个......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_marginBottom="10dp"/>
</LinearLayout>
答案 8 :(得分:0)
如果您使用的数字是57.435,则可以使用parseFloat(sum)