本文翻译youtube上的up主kudvenkat的javascript tutorial播放单

源地址在此:

https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b

本次视频我们会讨论在Javascript中将string转化成numbers的各种不同方法.

以下的例子允许用户输入两个数字并且相加.同时我们会学到以下函数

1.parseInt()

2.parseFloat()

3.isNan()

以下是网页表格的HTML代码

[table style="border:1px solid black; font-family:Arial"]
[tr]
[td]First Number[/td]
[td][asp:TextBox ID="txtFirstNumber" runat="server"][/asp:TextBox][/td]
[/tr]
[tr]
[td]Second Number[/td]
[td][asp:TextBox ID="txtSecondNumber" runat="server"][/asp:TextBox][/td]
[/tr]
[tr]
[td]Result[/td]
[td][asp:TextBox ID="txtResult" runat="server"][/asp:TextBox][/td]
[/tr]
[tr]
[td]
[/td]
[td]
[input type="button" value="Add" id="btnAdd"/]
[/td]
[/tr]
[/table]

在网页表格的head部分添加以下Javascript

[script type="text/javascript"]
function addNumbers()
{
var firstNumber = document.getElementById("txtFirstNumber").value;
var secondNumber = document.getElementById("txtSecondNumber").value;
document.getElementById("txtResult").value = firstNumber + secondNumber;
}
[/script]

设置Add按钮的onclick属性以便呼出addNumbers()函数.按钮的HTML代码如下

[input type="button" value="Add" id="btnAdd" onclick="addNumbers()" /]

运行程序并且输入20和10作为两个相加的数字.点击Add按钮.此时注意到Javascript并没有相加两个数,而是把两个数作为string直接合并在一起.这是因为textbox的value属性是吧输入的数字作为string格式考虑的

所以明显我们需要先做一个转换.这种情况下parseInt()函数就很有用了.如下调整addNumbers()函数

function addNumbers()
{
var firstNumber = parseInt(document.getElementById("txtFirstNumber").value);
var secondNumber = parseInt(document.getElementById("txtSecondNumber").value);
document.getElementById("txtResult").value = firstNumber + secondNumber;
}

运行程序并且测试,这时我们应该如预期般得到30作为结果了

我们现在做另外一个测试,输入20.5和10.3作为两个相加的数字.点击Add按钮,注意到结果显示小数点的部分被忽略掉了.

为了保持小数点的部分,我们要用parseFloat()函数

function addNumbers()
{
var firstNumber = parseFloat(document.getElementById("txtFirstNumber").value);
var secondNumber = parseFloat(document.getElementById("txtSecondNumber").value);
document.getElementById("txtResult").value = firstNumber + secondNumber;
}

如果你缺省两个数字,或者输入不是数字的string,那么当你点击Add按钮后,结果textbox会显示NaN,

NaN在Javascript中表示Not-a-Number.在Javascript中我们用isNaN()函数来确定一个值是不是一个合法的数字.如果是一个数字的话,这个函数会返回true,反之则返回false.

如下继续调整addNumbers()函数

function addNumbers()
{
var firstNumber = parseFloat(document.getElementById("txtFirstNumber").value);
if (isNaN(firstNumber))
{
alert("Please enter a valid number in the first number textbox");
return;
}
var secondNumber = parseFloat(document.getElementById("txtSecondNumber").value);
if (isNaN(secondNumber))
{
alert("Please enter a valid number in the second number textbox");
return;
}
document.getElementById("txtResult").value = firstNumber + secondNumber;
}

现在当你缺省两个数字,或者输入不是数字的string的话,点击Add按钮后,相对应的错误信息会弹出

我们可以改进一下验证错误的信息,以便更加清晰:

如果第一个数字和第二个数字缺省,我们希望显示以下的错误验证信息

a)第一个数字为必填

b)第二个数字为必填

如果你输入的是string而不是number的话

a)请在第一个数字textbox里填入合法数字

b)请在第二个数字textbox里填入合法数字

[译]在Javascript中将string转化成numbers的更多相关文章

  1. 「译」JavaScript 的怪癖 1:隐式类型转换

    原文:JavaScript quirk 1: implicit conversion of values 译文:「译」JavaScript 的怪癖 1:隐式类型转换 译者:justjavac 零:提要 ...

  2. C#中将图片转化成base64字符串

    厂址:http://www.cnblogs.com/yunfeifei/p/4165351.html 1.在C#中将图片转化成base64字符串: using System; using System ...

  3. 在C#中将String转换成Enum:

    一:  在C#中将String转换成Enum: object Enum.Parse(System.Type enumType, string value, bool ignoreCase); 所以,我 ...

  4. C++中将string类型转换为int, float, double类型 主要通过以下几种方式:

      C++中将string类型转换为int, float, double类型 主要通过以下几种方式: # 方法一: 使用stringstream stringstream在int或float类型转换为 ...

  5. JavaScript中String对象的match()、replace() 配合正则表达式使用

    正则表达式由来已久,查找替换功能非常强大,但模板难记复杂. JavaScript中String对象的match().replace()这2个方法都要使用正则表达式的模板.当模板内容与字符串不相匹配时, ...

  6. 【译】JavaScript 开发者年度调查报告

    截至目前有超过了 5000 人参与了(该次调查),准确的说是 5350 人.我迫不及待的想要和大家分享一下这次调查的细节.在分享之前我想要感谢参与调查的每一个人.这是 JavaScript 社区一个伟 ...

  7. java中将string类型转int类型或者将string类型转long类型方法

    将字串 String 转换成整数 int 两种方法: 1).int i = Integer.parseInt("111"); 或 i = Integer.parseInt([Str ...

  8. JavaScript字符串String

    JavaScript中String类型用于表示由零个或者多个16位Unicode字符组成的字符序列即字符串:同时字符串可以用单引号或双引号表示. 下面是一些特殊的字面量: 字面量 含义\n 换行\t ...

  9. java中如何将string 转化成long

    1.Java中如何将string 转化成long long l = Long.parseLong([String]); 或 long l = Long.parseLong([String],[int ...

随机推荐

  1. GO语言heap剖析及利用heap实现优先级队列

    GO语言heap剖析 本节内容 heap使用 heap提供的方法 heap源码剖析 利用heap实现优先级队列 1. heap使用 在go语言的标准库container中,实现了三中数据类型:heap ...

  2. SVM模型进行分类预测时的参数调整技巧

    一:如何判断调参范围是否合理 正常来说,当我们参数在合理范围时,模型在训练集和测试集的准确率都比较高:当模型在训练集上准确率比较高,而测试集上的准确率比较低时,模型处于过拟合状态:当模型训练集和测试集 ...

  3. Azure ARM模式下VNet配置中需要注意的几点事项

    虚拟网络的配置是所有公有云中非常重要的环节.把虚拟网络配置好,对整个系统的管理.维护,以及安全性都非常重要. 本文将介绍Azure在ARM模式下VNet配置中需要特别注意的几点. 一 Azure的VN ...

  4. laravel 常用知识总结

    看到一篇别人的文章感觉写的不错 就copy过来了 学习源头: https://www.cnblogs.com/yjf512/p/3830750.html aravel是个很强大的PHP框架,它剔除了开 ...

  5. oracle的自增长

    mysql的自增长非常容易,一个 AUTO_INCREMENT 就搞定,可是oracle就不行了 下面是oracle的自增长 #创建一个表CREATE TABLE T_TEST_DEPARTMENTS ...

  6. Celery-4.1 用户指南: Workers Guide (Workers 指南)

    启动工作单元 你可以通过执行以下命令在前台启动工作单元: $ celery -A proj worker -l info 查看启动工作单元的可用命令行选项,可以执行: $ celery worker ...

  7. IIS安装与部署,站点的部署与配置

    第一章:IIS安装与部署 一,服务器概念的理解: 将设计好的软件只要部署到一台机器(服务器--->IIS)上,其它的员工通过浏览器(网址.)来进行访问. 做好的网站必须部署到这台机器上的IIS中 ...

  8. SpringMVC工作原理图解

    SpringMVC的工作原理图: SpringMVC流程 1.  用户发送请求至前端控制器DispatcherServlet. 2.  DispatcherServlet收到请求调用HandlerMa ...

  9. 问题:C# ToString("P");结果:c#中的常用ToString()方法总结

    c#中的常用ToString()方法总结   很多类都重写了ToString方法, 导致很多类的tostring到底执行了什么,有哪些参数,都不清楚 对于int,double等的tostring: C ...

  10. 修改Windows帐户密码,导致Sql Server 2000无法启动

    修改Windows帐户密码,导致Sql Server 2000无法启动. --现象以管理员或同等权限用户登录 Windows XP,建立 Sql Server 2000 数据库.之后,在修改此 Win ...