值类型与 String 相互转换|学习笔记

简介: 快速学习值类型与 String 相互转换。

开发者学堂课程【Scala 核心编程-基础:值类型与 String 相互转换】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8900


值类型与 String 相互转换

 

目录

一、 介绍

二、 基本类型转 String 类型

三、 String 类型转基本数据类型

四、 注意事项

 

一、 介绍

在程序开发中,我们经常需要将基本数据类型转成 String 类型。或者将 String 类型转成基本数据类型。

//在运算和拼接以及显示的时候,往往都会把数据类型和字符串做一个转换工作

 

二、 基本类型转 String 类型

语法:将基本类型的值+“”即可

案例演示:

String str1=true+“”;

String str2=4.5+“”;String str3=100+“”;
新例子:

package com.atguigu.chapter02.dataconvert

object string2basic {def main(args:Array[String]):Unit= {

val d1 = 1.2

//基本数据类型转 String

val s1= d1 + “”

image.png

//以后看到有下划线就表示编译器做了转换,波浪号表示此变量还没有使用,会进行提示,但不会报错

 

三、 String 类型转基本数据类型

语法:通过基本类型的 String 的 toXxx 方法即可

案例演示:

“12

s1.toInt

s1.toFloat

s1.toDouble

s1.toByte

s1.toLong

s1.toShort

//可以使用相应的方法将“12”转换为上述任意类型

新例子:

val s2=”12”

val num1=s2.toInt //将 num1转换为 Int 类型

val num2=s2.toByte  //将 num2转换为 Byte 类型

val num3=s2.toDouble  //将 num3转换为 Double 类型

val num4=s2.toLong  //将 num4转换为 Long 类型

}

 

四、 注意事项

1. 在将 String 类型转成基本数据类型时,要确保 String 类型能够转成有效数据,比如可以把“123”,转成一个整数,但是不能把“hello”转成一个整数。

例子:

val s3=“hello

println(s3.toInt)

运行结果如下:

image.png

D:\program\jdk8\bin\java…

Exception in thread “main” java.lang.NumberFormatException: For input string:”hello”

at java.lang.NumberFormatException.forInputstring(NumberFormatException.java:65)

at java.lang.Integer.parseInt(Integer.java:580)

at java.lang.Integer.parseInt(Integer.java:615)

at scala.collection.immutable.stringLike5class.toInt(StringLike.scala:272)

at scala.collection.immutable.StringOps.toInt(StringOps.scala:29)

at com.atguigu.chapter02.dataconvert.string2basic$.main(string2basic.scala:21)

出现报错,hello 抛出异常,也可以根据异常来做一个处理

2. 思考要把“12.5”转成 Int //

例子:

val s4=“12.5

println(s4.toInt) //转化为 int

//将12.5转化为 double,无法做 int 类型

//在 scala 中,不是将小数点后的数据进行截取,而是会抛出异常,此时就要保证 string 类型是可以进行转换的

运行结果如下:

image.png

D:\program\jdk8\bin\java…

Exception in thread “main” java.lang.NumberFormatException: For input string:”12.5”

at java.lang.NumberFormatException.forInputstring(NumberFormatException.java:65)

at java.lang.Integer.parseInt(Integer.java:580)

at java.lang.Integer.parseInt(Integer.java:615)

at scala.collection.immutable.stringLike5class.toInt(StringLike.scala:272)

at scala.collection.immutable.StringOps.toInt(StringOps.scala:29)

at com.atguigu.chapter02.dataconvert.string2basic$.main(string2basic.scala:25)

at com.atguigu.chapter02.dataconvert.string2basic$.main(string2basic.scala)

输入12.5无法转化为 int 类型

如果转化为 Double 类型,就是正确的:

println(s4.toDouble)  //正确

相关文章
|
6月前
|
存储 NoSQL Redis
Redis学习笔记-String数据类型及其节省空间优化
Redis学习笔记-String数据类型及其节省空间优化
61 0
|
6月前
|
存储 Go C语言
Go学习笔记-String底层实现原理
Go学习笔记-String底层实现原理
37 0
|
7月前
|
存储 算法 C语言
【C++】对于string的补充(成员函数c_str()、大小写转换、字符串和实数之间的相互转换)
【C++】对于string的补充(成员函数c_str()、大小写转换、字符串和实数之间的相互转换)
34 0
|
8月前
|
Go
golang 中string和int类型相互转换
golang 中string和int类型相互转换
80 0
|
8月前
|
Java
Java StringBuilder 和 String 相互转换
Java StringBuilder 和 String 相互转换
59 0
|
9月前
|
C++
C++学习笔记_05 string 2021-04-16
C++学习笔记_05 string 2021-04-16
|
API
java202302java学习笔记第十五天-string中api查找
java202302java学习笔记第十五天-string中api查找
39 0
java202302java学习笔记第十五天-string中api查找
|
存储 编译器 C++
C++学习笔记(十一)——String类的模拟实现(二)
C++学习笔记(十一)——String类的模拟实现
|
编译器 C++
C++学习笔记(十一)——String类的模拟实现(一)
C++学习笔记(十一)——String类的模拟实现
C++学习笔记(十一)——String类的模拟实现(一)
|
存储 人工智能 C++
C++学习笔记(十二)——String类练习题(下)
C++学习笔记(十二)——String类练习题(下)
C++学习笔记(十二)——String类练习题(下)