parseInt() 和 parseFloat() 之间的区别[重复]

2024-04-23

可能的重复:
parseInt() 和 parseFloat() 之间的行为差​​异 https://stackoverflow.com/questions/9528433/behavior-difference-between-parseint-and-parsefloat

var box  = $('.box'),
fontSize = parseInt(box.css('font-size'), 10) + 5;

 $('button').on('click', function() {
  box.animate({fontSize: fontSize});
});

//..

 var box  = $('.box'),
 fontSize = parseFloat(box.css('font-size'), 10) + 5;

  $('button').on('click', function() {
    box.animate({fontSize: fontSize})
});

有什么区别..

**fontSize = parseInt(box.css('font-size'), 10);**

**fontSize = parseFloat(box.css('font-size'), 10);**

以及为什么应该把 10 作为上下文..请帮忙?


JavaScript 提供了两种转换非数字基元的方法 转换为数字: parseInt() 和 parseFloat() 。正如你可能已经猜到的, 前者将值转换为整数,而后者 将值转换为浮点数。

字符串中包含的任何数字文字也会正确转换,因此字符串“0xA”会正确转换为数字 10。但是,字符串“22.5”将转换为 22,因为小数点对于整数来说是无效字符。一些例子:

var iNum1 = parseInt("1234blue"); //返回1234

var iNum2 = parseInt("0xA"); //返回10

var iNum3 = parseInt("22.5"); //返回22

var iNum4 = parseInt("蓝色"); //返回NaN

parseInt() 方法还具有基数模式,允许您将二进制、八进制、十六进制或任何其他基数的字符串转换为整数。基数被指定为 parseInt() 的第二个参数,因此解析十六进制值的调用如下所示:

var iNum1 = parseInt("AF", 16); //返回175

当然,对于二进制、八进制、甚至十进制也可以这样做 (这是默认模式):

var iNum1 = parseInt("10", 2); //返回2

var iNum2 = parseInt("10", 8); //返回8

var iNum2 = parseInt("10", 10); //返回10

如果十进制数字包含前导零,则最好将基数指定为 10,这样您就不会意外得到八进制值。例如:

var iNum1 = parseInt("010"); //返回8

var iNum2 = parseInt("010", 8); //返回8

var iNum3 = parseInt("010", 10); //返回10

在此代码中,两行都将字符串“010”解析为数字。 第一行认为字符串是八进制值并解析它 与第二行相同(指定基数为 8)。这 最后一行指定基数为 10,因此 iNum3 最终等于 10。

使用 parseFloat() 时的另一个区别是字符串必须表示十进制形式的浮点数,而不是八进制或十六进制。此方法忽略前导零,因此八进制数 0908 将被解析为 908 ,而十六进制数 0xA 将返回 NaN,因为 x 不是浮点数的有效字符。 parseFloat() 也没有基数模式。

使用 parseFloat() 的一些示例:

var fNum1 = parseFloat("1234blue"); //返回1234

var fNum2 = parseFloat("0xA"); //返回0

var fNum3 = parseFloat("22.5"); //返回22.5

var fNum4 = parseFloat("22.34.5"); //返回22.34

var fNum5 = parseFloat("0908"); //返回908

var fNum6 = parseFloat("蓝色"); //返回NaN

阅读更多 http://www.bennadel.com/blog/2012-Exploring-Javascript-s-parseInt-And-parseFloat-Functions.htm, 阅读更多 http://www.java-samples.com/showtutorial.php?tutorialid=818

类似问题在这里阅读更多内容 https://stackoverflow.com/questions/9528433/behavior-difference-between-parseint-and-parsefloat

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

parseInt() 和 parseFloat() 之间的区别[重复] 的相关文章

随机推荐

  • 如何在 Android 上直接从麦克风向扬声器播放声音?

    在我的应用程序中 我需要将声音从麦克风直接引导到扬声器 没有其他动作 我找到了一种通过播放文件并关闭扬声器将声音从麦克风引导到耳机的方法 所以我想扬声器可以类似地工作 但是我不知道如何摆脱播放文件的事情 谢谢 speaker m audio
  • unix系统上C++中的简单glob?

    我想检索遵循此模式的所有匹配路径vector
  • 如何防止gitlab ci每次都下载sbt?

    我们有一个play2 scala我们正在使用 gitlab ci 构建的应用程序 Our gitlab ci yml 至少重要部分 如下所示 image hseeberger scala sbt variables SBT GLOBAL B
  • 导入“google/api/annotations.proto”未找到或有错误。如何将其添加为依赖项?

    按照文档如何设置 gRPC 网关 https github com grpc ecosystem grpc gateway 我发现自己陷入了生成 grpc 网关的第四步 也就是说 当添加以下行时 事情就会崩溃 import google a
  • 如何让 Mechanize 自动将正文转换为 UTF8?

    我找到了一些解决方案post connect hook and pre connect hook 但似乎它们不起作用 我正在使用最新的 Mechanize 版本 2 1 没有 response 新版本中的字段 我不知道在新版本中从哪里获取它
  • 如何创建页面链接并在该页面的 iframe 中加载特定内容

    在我们的网站上 我们有一个页面可以将内容从另一个位置提取到 iFrame 中 我想知道如何创建指向父页面的链接并在 iFrame 中加载特定页面 所以 我想创建一个链接http xxx xxx com page http xxx xxx c
  • 如何在客户端 JavaScript 中读取本地 csv 文件?

    我有客户端 javascript 我想从本地读取它csv文件 在html代码中 我使用脚本标签导入本地javascript文件 并且该js文件位于另一个文件夹中 js文件的内容 ajax type GET url data English
  • 简单聚类算法 2D。检测点簇

    任何人都知道用 C 实现的简单算法来检测 2D 游戏中的怪物组 前任 char周围100范围内有怪物 我想检测哪些怪物在彼此范围 2 内 如果至少有 5 个在一起 则在该位置使用效果区域技能 否则使用单目标技能 最好有一个实现的链接 最好是
  • 在 matplotlib 中,有没有办法在条形/线条/补丁下方设置网格线,同时保留上面的刻度标签?

    相关Matplotlib 在其他图形元素后面绘制网格线 https stackoverflow com questions 1726391 matplotlib draw grid lines behind other graph elem
  • 读外国文字

    我有一个包含英超足球运动员姓名的数据库 我正在将其读入 R 3 02 但当涉及到姓名中含有外来字符 元音变音 重音符号等 的球员时 我遇到了困难 下面的代码说明了这一点 PlayerData lt read table C Users Do
  • 将 vec3b 转换为 mat

    我有彩色图像im 我想使用以下代码使用 vec3b 获取 3 通道图像的像素值 for int i 0 i lt im rows i for int j 0 j lt im cols j for int k 0 k lt nChannels
  • 在 Java 中显式调用默认方法

    Java 8 引入默认方法 http cr openjdk java net dlsmith jsr335 jsr335 0 6 2 H html提供扩展接口的能力 而无需修改现有的实现 我想知道当该方法已被覆盖或由于不同接口中的默认实现冲
  • 自动调整winform和控件到屏幕尺寸

    我创建了一个 winform 应用程序 每个屏幕的尺寸为1361 768像素 这对于较大的屏幕和 或笔记本电脑非常有用 但现在我必须将我的应用程序移至 10 英寸屏幕平板电脑 这意味着我的应用程序不适合 我以前从未处理过这个问题 如何在较小
  • R包安装时间长 - 源代码或二进制类型

    我正在尝试安装一个名为stringi使用下面的命令 install packages stringi 虽然它没有抛出任何错误消息 但安装尚未结束 我在控制台屏幕上看到很多消息 该屏幕持续运行超过 45 分钟 gt install packa
  • JavaScript 中何处使用 ArrayBuffer 与类型化数组?

    我正在从 Node js 迁移到浏览器环境 但我仍然对 ArrayBuffer 与类型化数组 例如 Uint8Array 感到困惑 我对在哪里使用类型化数组以及在哪里直接使用 ArrayBuffer 感到困惑 将一种转换为另一种并不难 反之
  • 无法保存从网络摄像头捕获的图像(OpenCV 2.3 的 imwrite 编译错误)

    我正在使用 OpenCV 2 3 制作简单的网络摄像头程序 但遇到了编译错误 任何想法将不胜感激 编译后 我在 imwrite 处收到以下错误 在下面代码的 read 函数中 这个样本 https code ros org svn open
  • 使用 JavaScript 读取元素的 CSS 属性

    因此 如果有一个 css 文件链接到如下网页 我想读取某个属性 例如 div 有 className layout 并且我想使用 JavaScript 读取此属性的详细信息 我该怎么做 我已经搜索了很多 但几乎没有运气 请建议 您有两个选择
  • 如何在 React Native ListView 中将项目居中?

    我试图在选择一个项目时将其置于水平列表视图的中心 我当前的策略是首先测量项目并滚动到视图中引用项目的 x 坐标 目前 每当我按下某个项目时ListView滚动到最后x 538 有没有更简单的方法来实现这一点 同时保持代码无状态 功能 con
  • 带有 JSpinner 的 JTable 启用/禁用

    我有一个 3 列的 JTable 第 2 列是一个复选框 我想启用 禁用该行的 JSpinner 我已经按照我想要的方式工作了 除了一件事 JSpinner 实际上看起来并不像是被禁用的 文本和微调器按钮呈灰色 我不太确定如何实现这一点 我
  • parseInt() 和 parseFloat() 之间的区别[重复]

    这个问题在这里已经有答案了 可能的重复 parseInt 和 parseFloat 之间的行为差 异 https stackoverflow com questions 9528433 behavior difference between