JavaScript----数字转换字符串&字符串转发数字

数字转换成字符串

1.toString()函数

var num=12345;

var s=num.toString();

function changetostr(num){

return num.toString();

}

2.利用js的弱类型特点

var num=123;
var s=num+"";

字符串转换成数字

1.转换函数

  JavaScript提供了parseInt()与parseFloat()函数

  注:只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN。

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN

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

parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10

parseFloat()可以把字符串转换成十进制表示的浮点数。

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

2.强制转换

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

  ECMAScript中可用的3种强制类型转换如下: Boolean(value)——把给定的值转换成Boolean型;

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

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

  用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。 当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。

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

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()方法的处理方式相似,只是它转换的是整个值,而不是部分值

 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

3.利用JS的弱类型特点

<script>
 var str= ‘12.345 ‘;
 var x = str-0;
 x = x*1;
 </script>

最后一种不推荐!

      部分样例摘自网络~

时间: 2025-01-24 17:43:05

JavaScript----数字转换字符串&字符串转发数字的相关文章

js字符串转换成数字,数字转换成字符串

js字符串转换成数字   将字符串转换成数字,得用到parseInt函数. parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseInt('123') : 返回 123(int): parseInt('1234xxx') : 返回 1234(int): 如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测: 举例 : var i = parseInt('abc'); if (isNaN(i)) { alert('NaN value

java 数字转换成字符串

一.各种数字类型转换成字符串型:  public static void main(String[] args) { double value = 123456.123; String str = String.valueOf(value); // 其中 value 为任意一种数字类型. System.out.println("字符串str 的值: " + str); //字符串str 的值: 123456.123 } 二.字符串型转换成各种数字类型: public static vo

java 数字转换成字符串与数字转换成字符串

各种数字类型转换成字符串型: String s = String.valueOf( value); // 其中 value 为任意一种数字类型. 字符串型转换成各种数字类型: String s = "169"; byte b = Byte.parseByte( s ); short t = Short.parseShort( s ); int i = Integer.parseInt( s ); long l = Long.parseLong( s ); Float f = Float

数字转换成中文汉字数字

1 class Student { 2 static String[] ss = new String[]{"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; 3 static String[] mm = new String[]{"仟",

ORACLE数字转换人民币大写

ORACLE数字转换人民币大写     示例.   数字                        :            183066999230.68 人民币大写            :            壹仟捌佰参拾亿零陆仟陆佰玖拾玖万玖仟贰佰参拾圆陆角捌分   数字                        :            999900000000 人民币大写            :            玖仟玖佰玖拾玖亿圆整     Step 1.  Cre

【C语言】将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)

#include <stdio.h> /* 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数.负浮点数) 例如:"12.34" 返回12.34 "-123.34" 返回-123.34 函数原型:double my_atof(char *str) {} */ double my_atof(char *str) { double m=0,n=0,x=1; int flag=1; int flag2=0; if(*str=='-') //

【C语言】编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)

/* 编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数.负整数) 例如:"12" 返回12 "-123" 返回-123 函数原型:int my_atof(char *str) */ #include <stdio.h> int my_atof(char *str) { int flag=0; int m=0; if(*str=='-') { flag=1; str++; } while(*str!='\0') { if(*str<

将整形数字(int)转换成字符串

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> #include<string.h> void itoa(int n, char *buf) { int count = 0; char nu; char buf2[128] = { 0 }; //核心算法很简单 就是每次取出各位数字然后把数字转存进数组,中间有一个数组匿置的过程 do

数字按照不同格式转换成字符串

如果自己写函数,不使用itoa怎么判断呢? 我们用通常的办法,对数字进行每位的除商,得到后与字符'0'相加. flag = 0; for(i=0;i<6;i++){ tmp = int(num/pow(10,5-i)); if(tmp != 0){ *str = 1; flag = 1; } if(*str != 0 || flag){ *str++ = tmp+'0'; num = num%int(pow(10,5-i)); } } 要注意的就是,我们设置标志位flag,为1之前的所有0都不输