GVKun编程网logo

JS字符串转换(js字符串转换成数字)

9

本文将分享JS字符串转换的详细内容,并且还将对js字符串转换成数字进行详尽解释,此外,我们还将为大家带来关于C/C++字符、字符串转十六进制(支持中文字符串转换)、dartJSON字符串转换为列表字符

本文将分享JS字符串转换的详细内容,并且还将对js字符串转换成数字进行详尽解释,此外,我们还将为大家带来关于C/C++ 字符、字符串转十六进制(支持中文字符串转换)、dart JSON字符串转换为列表字符串、function的json对象转换字符串与字符串转换为对象的方法、JavaScript进阶(四)js字符串转换成数字的三种方法的相关知识,希望对你有所帮助。

本文目录一览:

JS字符串转换(js字符串转换成数字)

JS字符串转换(js字符串转换成数字)

eleId.style.backgroundImage = "url(''api/login/verifyimage?r="+Math.random()+"'')";

分析:

"url(''api/login/verifyimage?r=" 这是一个字符串

"'')" 这是另一个字符串

字符串+变量等于字符串,假设随机数变量是1.0

↓↓↓↓↓

url(''api/login/verifyimage?=1.0'')

C/C++ 字符、字符串转十六进制(支持中文字符串转换)

C/C++ 字符、字符串转十六进制(支持中文字符串转换)

#include <string>      // std::string
#include <sstream>     // std::stringstream
 
/**
 * #purpose    : 字符转十六进制
 * #note    : 不适用于汉字字符
 * #param ch    : 要转换成十六进制的字符
 * #return    : 接收转换后的字符串
 */
std::string chToHex(unsigned char ch)
{
    const std::string hex = "0123456789ABCDEF";
 
    std::stringstream ss;
    ss << hex[ch >> 4] << hex[ch & 0xf];
 
    return ss.str();
}
 
/**
 * #purpose    : 字符串转十六进制字符串
 * #note    : 可用于汉字字符串
 * #param str        : 要转换成十六进制的字符串
 * #param separator    : 十六进制字符串间的分隔符
 * #return    : 接收转换后的字符串
 */
std::string strToHex(std::string str, std::string separator = "")
{
    const std::string hex = "0123456789ABCDEF";
    std::stringstream ss;
 
    for (std::string::size_type i = 0; i < str.size(); ++i)
        ss << hex[(unsigned char)str[i] >> 4] << hex[(unsigned char)str[i] & 0xf] << separator;
    
    return ss.str();
}

 

dart JSON字符串转换为列表字符串

dart JSON字符串转换为列表字符串

我有一个调用json字符串数组的API,如下所示:

[  "006.01.01",  "006.01.01 1090",  "006.01.01 1090 1090.950",  "006.01.01 1090 1090.950 052",  "006.01.01 1090 1090.950 052 A",  "006.01.01 1090 1090.950 052 A 521219",  "006.01.01 1090 1090.950 052 A 521219",  "006.01.01 1090 1090.950 052 A 521219",  "006.01.01 1090 1090.950 052 A 521219",  "006.01.01 1090 1090.950 052 A 521219",  "006.01.01 1090 1090.950 052 B",  "006.01.01 1090 1090.950 052 B 521211",  "006.01.01 1090 1090.950 052 B 521211",  "006.01.01 1090 1090.994",  "006.01.01 1090 1090.994 001",  "006.01.01 1090 1090.994 001 A",  "006.01.01 1090 1090.994 001 A 511111",  "006.01.01 1090 1090.994 001 A 511111",  "006.01.01 1090 1090.994 001 A 511111",  "006.01.01 1090 1090.994 001 A 511111"]

我打算将json转换为飞镖中的List。我尝试了以下脚本:

json.decode(response.body).cast<List<String>();

但是它不起作用,脚本应该如何正确?

答案1

小编典典

解析JSON列表的结果是List<dynamic>。的返回类型jsonDecode为just dynamic

您可以将这样的列表转换List<String>

List<String> stringList = (jsonDecode(input) as List<dynamic>).cast<String>();

您也可以将其用作List<dynamic>,然后将每个值分配给String

List<dynamic> rellyAStringList = jsonDecode(input);for (String string in reallyAStringList) { ... }

效果大致相同-从列表中取出每个元素时,将检查每个元素是否为字符串。

function的json对象转换字符串与字符串转换为对象的方法

function的json对象转换字符串与字符串转换为对象的方法

// json对象转换成字符串
var str = JSON.stringify(json, function(key, val) {
if (typeof val === ''function'') {
return val + '''';
}
return val;
});
// json字符串转换成对象
var json = JSON.parse(str,function(k,v){
if(v.indexOf && v.indexOf(''function'') > -1){
return eval("(function(){return "+v+" })()")
}
return v;
});

 

eval() 是一个危险的函数, 它使用与调用者相同的权限执行代码。如果你用 eval() 运行的字符串代码被恶意方(不怀好意的人)修改,您最终可能会在您的网页/扩展程序的权限下,在用户计算机上运行恶意代码。更重要的是,第三方代码可以看到某一个 eval() 被调用时的作用域,这也有可能导致一些不同方式的攻击。相似的 Function 就不容易被攻击。

eval() 通常比其他替代方法更慢,因为它必须调用 JS 解释器,而许多其他结构则可被现代 JS 引擎进行优化。

var obj =(new Function("return "+""+j2+""))();

JavaScript进阶(四)js字符串转换成数字的三种方法

JavaScript进阶(四)js字符串转换成数字的三种方法

js字符串转换成数字的三种方法

      在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框ab,如果获得avalue值为11,bvalue值为9 ,那么a.value要小于b.value,因为他们都是字符串形式的.

      方法主要有三种:转换函数、强制类型转换、利用js变量弱类型转换。

转换函数

      js提供了parseInt()parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)

一些示例如下:

代码如下:

立即学习“Java免费学习笔记(深入)”;

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
登录后复制


parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:

代码如下:

立即学习“Java免费学习笔记(深入)”;

parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10
登录后复制


如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:

代码如下:

立即学习“Java免费学习笔记(深入)”;

parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10
登录后复制


parseFloat()方法与parseInt()方法的处理方式相似。

使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。

下面是使用parseFloat()方法的示例:

代码如下:

立即学习“Java免费学习笔记(深入)”;

parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN
登录后复制


强制类型转换

还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。

ECMAScript中可用的3种强制类型转换如下:

Boolean(value)——把给定的值转换成Boolean型;

Number(value)——把给定的值转换成数字(可以是整数或浮点数);

String(value)——把给定的值转换成字符串。

用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。

当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0undefinednull,它将返回false

可以用下面的代码段测试Boolean型的强制类型转换。

代码如下:

立即学习“Java免费学习笔记(深入)”;

Boolean(""); //false – empty string
Boolean("hi"); //true – non-empty string
Boolean(100); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object
登录后复制


Number()的强制类型转换与parseInt()parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。示例如下:

代码如下:

立即学习“Java免费学习笔记(深入)”;

Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100
登录后复制


最后一种强制类型转换方法String()是最简单的,示例如下:

代码如下:

立即学习“Java免费学习笔记(深入)”;

var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won&#39;t work, causes an error
登录后复制


利用js变量弱类型转换

代码如下:

立即学习“Java免费学习笔记(深入)”;

<script>
var str= &#39;012.345 &#39;;
var x = str-0;
x = x*1;
</script>
登录后复制


上例利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的

美文美图


以上就是JavaScript进阶(四)js字符串转换成数字的三种方法的内容。

关于JS字符串转换js字符串转换成数字的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于C/C++ 字符、字符串转十六进制(支持中文字符串转换)、dart JSON字符串转换为列表字符串、function的json对象转换字符串与字符串转换为对象的方法、JavaScript进阶(四)js字符串转换成数字的三种方法等相关内容,可以在本站寻找。

本文标签: