[译]在Javascript中将string转化成numbers
本文翻译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的更多相关文章
- 「译」JavaScript 的怪癖 1:隐式类型转换
原文:JavaScript quirk 1: implicit conversion of values 译文:「译」JavaScript 的怪癖 1:隐式类型转换 译者:justjavac 零:提要 ...
- C#中将图片转化成base64字符串
厂址:http://www.cnblogs.com/yunfeifei/p/4165351.html 1.在C#中将图片转化成base64字符串: using System; using System ...
- 在C#中将String转换成Enum:
一: 在C#中将String转换成Enum: object Enum.Parse(System.Type enumType, string value, bool ignoreCase); 所以,我 ...
- C++中将string类型转换为int, float, double类型 主要通过以下几种方式:
C++中将string类型转换为int, float, double类型 主要通过以下几种方式: # 方法一: 使用stringstream stringstream在int或float类型转换为 ...
- JavaScript中String对象的match()、replace() 配合正则表达式使用
正则表达式由来已久,查找替换功能非常强大,但模板难记复杂. JavaScript中String对象的match().replace()这2个方法都要使用正则表达式的模板.当模板内容与字符串不相匹配时, ...
- 【译】JavaScript 开发者年度调查报告
截至目前有超过了 5000 人参与了(该次调查),准确的说是 5350 人.我迫不及待的想要和大家分享一下这次调查的细节.在分享之前我想要感谢参与调查的每一个人.这是 JavaScript 社区一个伟 ...
- java中将string类型转int类型或者将string类型转long类型方法
将字串 String 转换成整数 int 两种方法: 1).int i = Integer.parseInt("111"); 或 i = Integer.parseInt([Str ...
- JavaScript字符串String
JavaScript中String类型用于表示由零个或者多个16位Unicode字符组成的字符序列即字符串:同时字符串可以用单引号或双引号表示. 下面是一些特殊的字面量: 字面量 含义\n 换行\t ...
- java中如何将string 转化成long
1.Java中如何将string 转化成long long l = Long.parseLong([String]); 或 long l = Long.parseLong([String],[int ...
随机推荐
- RabbitMQ入门Demo
之前环境安装已经介绍过了,下面直接跑个Demo. 1.添加Maven依赖 <dependency> <groupId>org.springframework.amqp</ ...
- 8、Selenium+python安装HTMLTestRunner插件
1.打开网址:http://tungwaiyip.info/software/HTMLTestRunner.html,下载HTMLTestRunner.py 2.copy其HTMLTestRunner ...
- sleep(0)作用
假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?某人的代 ...
- LTE流程
LTE 过程全流程 1. UE处于关闭状态 2. 打开UE电源. 3. 搜索附近的频率 4. 同步时间 5. 小区搜索 6. 小区选择 7. 解码MIB 8. 解码SIB 9. 初始化RACH过程 1 ...
- java添加背景图片
总结:我们通常实现添加背景图片很容易,但是再添加按钮组件就会覆盖图片.原因是: 有先后啊.setlayout();与布局有很大关系 请调试代码的时候,仔细揣摩.我晕了 还可以添加文本框,密码框 fra ...
- vmware全屏后去掉上面的横杠
全屏后选择查看—>独占模式最上面的杠就没了,而且不按退出快捷键,不会在切换到外面的系统中了.
- HDLM命令dlnkmgr详解之四_monitor/offline/online
1. monitor 以一定的时间间隔监控hba或cha口的IO信息. 命令格式 监控hba口的IO信息: dlnkmgr monitor -hbaid HBA_ID [-intvl Interval ...
- Javascript ——Navigator对象
见 <Javascript 高级程序设计 第二版> P172 一.检测插件: 1.获取所有插件名称: 非IE浏览器:根据plugins数组, function getplugins() { ...
- 01-19asp.net基础--网站登录及验证
第一步: 1)首先使用“CodeSmith”将Examinee类实体化,并生成实体类连接数据库的方法,存在解决方案下的“App_Code”文件夹下. 修改一下连接某个数据库: private SqlC ...
- WCF上传大文件处理方法
<system.serviceModel> <bindings> <basicHttpBind> <Binding name=" maxReceiv ...