Scala 浮点型|学习笔记

简介: 快速学习 Scala 浮点型。

开发者学堂课程【Scala 核心编程-基础Scala 浮点型】学习笔记,与课程紧密联系,让用户快速学习知识。

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


Scala 浮点型

 

目录

一、浮点类型

二、浮点型使用细节

 

一、浮点类型

1、基本介绍

Scala 的浮点类型可以表示一个小数,比如123.4f,7.8,0.12等。

2、浮点型的分类

Float [4]   32位,IEEE 754标准的单精度浮点数

Double [8]  64位,IEEE 754标准的双精度浮点数

 

二、浮点型使用细节

1、与整数类型类似,Scala 浮点类型也有固定的表数范围和字段长度,不受具体 OS 的影响。

 Scala 的浮点类型也有固定的长度,不受操作系统影响,因为它是跨平台的。

2、Scala 的浮点型常量默认为Double 型,声明 Float 型常量,须后加‘f'或‘F'。

需要声明的是,float 的常量默认为 Double 型。在声明 Float 类型的时候要加 f 或者是大写的 F。

例:

(1) var f1:Float = 1.1  //把1.1给 float 会不会报错?

这里把 double 给了一个 float,显然是要报错的。

(2) var f2 = 1.2  //把1.2给 f2会不会报错?

这个 f2没有指定类型,不会报错。因为用类型推导。编译器是很聪明的,没有指定类型,就使用类型推断。

(3) var f3:Double = 1.3  //把1.3给 Double 可以吗?

可以

(4) var f4:Float = 1.4f  //把1.4带 f 给 Float 可不可以?

可以

(5) var f5:Double = 1.5f  //把1.5f给Double可不可以?

虽然是 float 的类型,但 Double 是高精度,把低精度给高精度是可行的。这是 float 给 Double,因此可行。

3、浮点型常量有两种表示形式

十进制数形式,如: 5.12   512.0f    .512 (必须有小数点)

科学计数法形式,如: 5.12e2 = ?     5.12E-2 = ?

5.12e2 = 5.12乘以10的2次方  

5.12E-2 = 5.12除以10的2次方

4、通常情况下,应该使用 Double 型,因为它比 Float 型更精确(小数点后大致7位)

float 的精度保留了多少位?大致是小数点后7位。

测试数据: 2.2345678912f , 2.2345678912

2.2345678912f , 2.2345678912这两个案例,数据精度会有损失。

打开 TyepDemo03.scala 编辑:

……

var num1:Float = 2.2345678912f

var num2: Double = 2.2345678912

println("num1=" + num1 + "num2=" + num2)

……

有一个变量 num1,把2.2345678912f这个值给它。是 float 类型。又有一个变量 num2,是 double 类型,给2.2345678912这个值。

运行结果:

long 的最大值9223372036854775807~- 9223372036854775808

num1=2.2345679num2=2.2345678912

运行结果发现 num1的精度有丢失。num1变成2.2345679,后面的12被四舍五入舍去了,大概精确到第七位。将来用float 的时候,如果精度在小数点后七位以内就可以用。但是超过就不行。也可以看到 num2没有丢失精度,Double的精度很高。

相关文章
|
分布式计算 Java 大数据
|
Java Scala 开发者
Scala 下界介绍和应用实例 | 学习笔记
快速学习 Scala 下界介绍和应用实例
Scala 下界介绍和应用实例 | 学习笔记
|
Scala 开发者
Scala 上界介绍和应用实例2 | 学习笔记
快速学习Scala上界介绍和应用实例2
Scala 上界介绍和应用实例2 | 学习笔记
|
Java Scala 开发者
Scala 泛型介绍和应用实例2 | 学习笔记
快速学习 Scala 泛型介绍和应用实例2
Scala 泛型介绍和应用实例2 | 学习笔记
|
Java Scala 开发者
Windows 搭建S cala 开发环境|学习笔记
快速学习 Windows 搭建 Scala 开发环境。
200 0
Windows 搭建S cala 开发环境|学习笔记
|
小程序 Java 编译器
Scala 快速入门|学习笔记
快速学习 Scala 快速入门。
120 0
Scala 快速入门|学习笔记
|
Java Scala 开发者
Scala 接口基本介绍|学习笔记
快速学习 Scala 接口基本介绍。
251 0
Scala 接口基本介绍|学习笔记
|
Scala 开发者
Scala 的继承注意事项|学习笔记
快速学习 Scala 的继承注意事项。
104 0
Scala 的继承注意事项|学习笔记
|
Java Scala 开发者
Scala 的继承快速入门|学习笔记
快速学习 Scala 的继承快速入门。
Scala 的继承快速入门|学习笔记
|
IDE Java 大数据
Scala 插件安装|学习笔记
快速学习 Scala 插件安装。
332 0
Scala 插件安装|学习笔记
下一篇
无影云桌面