在 JS、PHP、Python 等其他语言中,使用字母 e 书写数字不会造成任何困难。
const number = 1e6
// Будет равно 1 000 000
但在爪哇
public class main {
public static void main(String[] args) {
int a = 1e6;
}}
输出:
java: incompatible types: possible lossy conversion from double to int
对于浮点数,不会发生错误。但是随着整个...
double a = 1e6;
//Сохранится как 1000000.00.
谁能解释为什么以及如何解决这个问题?
因为这样的表达式是实数的表示,将实数赋给整数会导致数据丢失,所以必须显式地完成:
类似的数字也可以用这种形式描述: