美文网首页
js 数据类型转换

js 数据类型转换

作者: 古德毛宁_39de | 来源:发表于2020-01-13 15:23 被阅读0次
前几天写微信小程序支付这一块遇到点问题,最后解决发现是js数据类型转换的原因:
这是后台传来的数据
 info: {
        explain: "提现至微信账户,1-5个工作日到账",
        minAmount: 100, //最低提现金额
        ecacshStatus: 0, //0可提现,1提现中,2不可提现
        balance: "1.00"
      },
这是用户需要输入提现的金额
   input.inputClass(type="digit" :value="amount" @input="inputAmount")
点击提交做判断时出了问题:
 if (this.amount > this.info.balance) {
        wx.showModal({
          title: "提示",
          content: "余额不足",
          showCancel: false,
          confirmText: "确定"
        });
      } 

假设this.info.balance="30"元,用户输入的值拿到后为"5"(this.amount = "5"),两个数作比较,这时if (this.amount > this.info.balance) 的结果为true... 所以就一直显示余额不足,最后找到问题原因,发现输入框里拿到的值类型为String,后台传来的值类型也是String,两个字符串做比较时,只比较第一位的大小,也就是30元只比较第一位,(字符串'5' > 字符串'3'),

好吧,对于这种了解过但是很少遇到的实战问题,基础知识,这种错误确实不应该再犯了,所以今天做个笔记时刻提醒自己

首先不知道数据类型的情况下,先检测数值的数据类型

typeof "John"                 // 返回 string
typeof 3.14                   // 返回 number
typeof NaN                    // 返回 number
typeof false                  // 返回 boolean
typeof [1,2,3,4]              // 返回 object
typeof {name:'John', age:34}  // 返回 object
typeof new Date()             // 返回 object
typeof function () {}         // 返回 function
typeof myCar                  // 返回 undefined (如果 myCar 没有声明)
typeof null                   // 返回 object

JavaScript 类型转换

(1) String() 可以将数字转换为字符串。

该方法可用于任何类型的数字,字母,变量,表达式:

var x = 123;
String(x)   //123      // 将变量 x 转换为字符串并返回
String(123) //123       // 将数字 123 转换为字符串并返回
String(100 + 23) //123  // 将数字表达式转换为字符串并返回
(2) 将字符串转换为数字
第一种

字符串包含数字(如 "3.14") 转换为数字 (如 3.14).
空字符串转换为 0。
其他的字符串会转换为 NaN (不是个数字)。

Number("3.14")    // 返回 3.14
Number(" ")       // 返回 0
Number("")        // 返回 0
Number("99 88")   // 返回 NaN

Number 方法 章节中,你可以查看到更多关于字符串转为数字的方法:

其他方法:

parseFloat() 解析一个字符串,并返回一个浮点数:

<script>

document.write(parseFloat("10") + "<br>");
document.write(parseFloat("10.33") + "<br>");
document.write(parseFloat("34 45 66") + "<br>");
document.write(parseFloat(" 60 ") + "<br>");
document.write(parseFloat("40 years") + "<br>");
document.write(parseFloat("He was 40") + "<br>");

</script>
以上实例输出结果:
10
10.33
34
60
40
NaN

parseInt() 解析一个字符串,并返回一个整数:


radix 代表进制数
parseInt("10");         //返回 10
parseInt("19",10);      //返回 19 (10+9)
parseInt("11",2);       //返回 3 (2+1)
parseInt("17",8);       //返回 15 (8+7)
parseInt("1f",16);      //返回 31 (16+15)
parseInt("010");        //未定:返回 10 或 8

Number 对象方法

| 方法 | 描述 |
| isFinite | 检测指定参数是否为无穷大。 |
| toExponential(x) | 把对象的值转换为指数计数法。 |
| toFixed(x) | 把数字转换为字符串,结果的小数点后有指定位数的数字。 |
| toPrecision(x) | 把数字格式化为指定的长度。 |
| toString() | 把数字转换为字符串,使用指定的基数。 |
| valueOf() | 返回一个 Number 对象的基本数字值。 |

toFixed()

方法可把 Number 四舍五入为指定小数位数的数字。

var num = 5.56789;
var n=num.toFixed(2);
n 输出结果:
5.57


将一个数字,不留任何小数:
var num = 5.56789;
var n=num.toFixed();
n 输出结果:
6
toPrecision() 方法
把数字格式化为指定的长度:

var num = new Number(13.3714);
var n=num.toPrecision(2);
n 输出结果:
13


使用不同进制把数字格式化为指定的长度:

var num = new Number(13.3714);
var a = num.toPrecision();
var b = num.toPrecision(2);
var c = num.toPrecision(3);
var d = num.toPrecision(10);
a,b,c, 和 d 输出结果:
13.3714
13
13.4
13.37140000
toString() 方法
把数字转换为字符串:

var num = 15;
var n = num.toString();
n 输出结果:
15


在本例中,我们使用不同进制把一个数字转换为字符串:

var num = 15;
var a = num.toString();
var b = num.toString(2);
var c = num.toString(8);
var d = num.toString(16);
a,b,c, 和 d 输出结果:

15
1111
17
f

相关文章

  • 2、强制数据类型转换

    数据类型转换: 在js中,数据类型的转换有两种,分别是自动转换和强制转换 自动转换: 自动转换是用JS进行某些操作...

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • JavaScript的显式转换和隐式转换

    js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算...

  • JS隐式数据类型转换

    隐式数据类型转换介绍 前面有总结过 JS数据类型转换 Number(), toString(), parseInt...

  • JS的基本小结

    JS基本输出方式 JS数据类型 变量 常量 变量常量小练习 声明提前 隐式转换 显示转换/强制转换

  • JavaScript学习笔记.md

    学习材料————廖雪峰js教程 数据类型 ===与== == 自动转换数据类型再比较;=== 不转换类型 (更好...

  • JavaScript基础总结

    ✍目录总览:(JS概念与组成、JS格式规范、JS基本语法【输入、输出、变量、数据类型、数据类型转换、运算符、流程控...

  • JS里的数据类型转换

    上一篇文章(JS里的数据类型)介绍了js中的数据类型。这篇主要介绍数据类型转换。 一、任意类型转字符串 转换成st...

网友评论

      本文标题:js 数据类型转换

      本文链接:https://www.haomeiwen.com/subject/fnogactx.html