vue3+ts 使用parseInt报错Argument of type ‘number‘ is not assignable to parameter of type ‘string‘. 2023-05-11 16:16:49
在之前习惯使用javascript开发的时候,直接使用parseInt将数字转为整数。而在使用typescript开发时,却出现了报错。
报错内容:Argument of type 'number' is not assignable to parameter of type 'string'.
parseInt(string, radix) 函数解析字符串并返回整数。第一个参数为要解析的字符串,第二个参数为要转换的进制基数,默认为十进制。
javascript里会自动对参数进行隐式转换,因此使用parseInt(100)并不会报错,而typescript时报错了。

1、toString转为字符串

const data = parseInt((Math.random() * num).toString());

2、使用Math.floor()方法

const data = parseInt(Math.floor((Math.random() * num)));
                                    vue3+ts+vuerouter+pinia+elementplus+ts环境模板搭建及vite打包优化vue3+ts+vuerouter+pinia+elementplus+ts环境模板搭建及vite打包优化vue3+ts+vuerouter+pinia+elementplus+ts环境模板搭建及vite打包优化vue3+ts+vuerouter+pinia+elementplus+ts环境模板搭建及vite打包优化vue3+ts+vuerouter+pinia+elementplus+ts环境模板搭建及vite打包优化vue3+ts+vuerouter+pinia+elementplus+ts环境模板搭建及vite打包优化vue3+ts+vuerouter+pinia+elementplus+ts环境模板搭建及vite打包优化vue3+ts+vuerouter+pinia+elementplus+ts环境模板搭建及vite打包优化vue3+ts+vuerouter+pinia+elementplus+ts环境模板搭建及vite打包优化vue3+ts+vuerouter+pinia
                                    一、报错情景
最近刚刚接触ts,在使用TSLint检查自己代码的时候,发现使用parseInt()函数来进行数据类型转换的时候,会报出 Missing radix parameter radix 错误。
二、解决报错
这个错误信息是意思是:缺少一个基数根,也就是指parseInt()函数的第二个参数没有指定。出现这个问题,主要是因为你没有深刻掌握parseInt()语法,
如果想解决这个错误信息...
    public static void main(String[] args) {
        String a="0";
        System.out.println(Integer.parseInt(a));
        char b='0';
        System.out.println(Integer.parseInt(b));
第一个返回的是0,说明是正确的,但是如果传入的字符就会报错TypeScript语法错误:
TS2345: Argument of typestring’ is not assignable to parameter of type ‘Element’.
类型"string"的参数不能赋给类型"Element"的参数。
报错内容以及对应代码:
报错的原因在于,该函数可接收的参数类型和实际接收的不匹配。
所以解决的方法是,将第二个参数转换成Element类型;或者更换另一种方法,插入元素的同时,还支持stri
string	必需。要被解析的字符串。
radix	可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
如果该参数小于 2 或者大...