标签: scientific-notation

用科学计数法格式化双值

我有一个双号223.45654543434,我需要表现出来0.223x10e+2.

我怎么能用Java做到这一点?

java formatting scientific-notation

25
推荐指数
4
解决办法
8万
查看次数

如何将数字转换为科学记数法?

我想创建一个输入值并将其转换为科学记数法的函数(N x 10 ^ a)

我尝试了很多不同的东西,但我似乎无法做到.

例:

我输入200.转换器将其转换为2 x 10 ^ 2

javascript math html5 scientific-notation

25
推荐指数
2
解决办法
2万
查看次数

为什么用科学记数法编写数字会对此代码产生影响?

我正在尝试编写一个代码来确定自1970年初以来的毫秒数何时将超过long的容量.以下代码似乎可以完成这项工作:

public class Y2K {
    public static void main(String[] args) {
        int year = 1970;
        long cumSeconds = 0;

        while (cumSeconds < Long.MAX_VALUE) {
            // 31557600000 is the number of milliseconds in a year
            cumSeconds += 3.15576E+10;
            year++;
        }
        System.out.println(year);
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码在几秒钟内执行并打印292272992.如果不是使用科学记数法,我将cumSeconds写为31558000000L,程序似乎"永远"运行(我只是在10分钟左右后暂停).另请注意,以科学计数形式写入cumSeconds不需要指定数字最后为longL或l.

java scientific-notation long-integer

24
推荐指数
3
解决办法
1263
查看次数

如何在java中用科学记数法表示数字?

我正在编写一个处理行星质量和直径的程序; 这些数量用科学记数法表示.我的问题不是,请注意,不是如何以正确的方式打印大数字(那是使用printf(),duh),我会怎样......"输入"这些数字,我想你可以说.例如,表示汞的质量:

3.30 x 10ˆ23
Run Code Online (Sandbox Code Playgroud)

在我的行星质量阵列中,一个元素看起来像:

33.0 * Math.pow(10, 23)
Run Code Online (Sandbox Code Playgroud)

但是,我不认为这是正确的方法 - 它看起来会引发异常...那么我怎么能从程序员的角度表达这样的大数字呢?谢谢!

java numbers scientific-notation notation

23
推荐指数
2
解决办法
5万
查看次数

将包含科学记数的数字的字符串转换为PHP中的double

我需要帮助将包含科学记数的数字的字符串转换为double.

示例字符串:"1.8281e-009""2.3562e-007""0.911348"

我正在考虑将数字分成左边的数字和指数而不只是做数学来生成数字; 但有没有更好/标准的方法来做到这一点?

php string double scientific-notation

16
推荐指数
4
解决办法
2万
查看次数

如何让haskell输出数字而不是科学记数法?

我有一些项目要分区为多个桶,这样每个桶比最后一个桶大一些.

items = 500
chunks = 5
increment = 0.20


{- find the proportions  -}
sizes = take chunks (iterate (+increment) 1)    
base = sum sizes / items    
buckets = map (base *) sizes

main = print buckets
Run Code Online (Sandbox Code Playgroud)

我确信有一种数学上更优雅的方式来做到这一点,但这不是我的问题.最后一步始终以科学记数法打印出来.

如何获得纯十进制输出?我看过Numeric包,但是我的速度很快.

formatting haskell scientific-notation

16
推荐指数
2
解决办法
3660
查看次数

Java:为什么我不能使用科学记数法声明整数类型?

2e15一眼就可以轻易地读作"两千万亿",但是因为2000000000000000我必须计算零,这需要更长的时间并且可能导致错误.

为什么我不能声明intlong使用诸如2e9或之类的文字1.3e6?我理解10的负幂,例如10 2e-3或10的幂小于小数位数,例如1.0003e3,会产生一个浮点数,但为什么Java不允许这样的声明,只是截断浮点部分,并在结果值为非整数的情况下发出温和警告?

是否存在技术上的原因,这是一个坏主意,还是所有关于类型安全的?编译器简单地解析像这样的语句不是微不足道的

long x = 2e12long x = 2000000000000 //OK for long

int y = 2.1234e3作为int y = 2123.4 //warning: loss of precision

java integer scientific-notation exponent long-integer

15
推荐指数
1
解决办法
8437
查看次数

为什么在此代码中不遵循模式字符串?

当执行以下代码时:

DecimalFormat eNotation1 = new DecimalFormat("#0.###E0");   
System.out.println(eNotation1.format(123.456789)); 
Run Code Online (Sandbox Code Playgroud)

我的预期输出是;

1.235E2

代替,

1.2346E2

被印刷了。

为什么输出1.2346E2

我知道我可以使用一种方法,例如setMaximumFractionDigits()是否只想设置小数点后的最大位数,但是我只是想了解为什么输出是1.2346E2

java scientific-notation decimalformat

15
推荐指数
1
解决办法
1450
查看次数

科学记数法中的字符串C++以双重转换

我有一个数据库填充了以下双打:

1.60000000000000000000000000000000000e+01
Run Code Online (Sandbox Code Playgroud)

有人知道如何在C++中将这样的数字转换为double吗?

是否有"标准"方式来做这类事情?或者我必须自己动手?

现在我正在做这样的事情:

#include <string>
#include <sstream>



int main() {
    std::string s("1.60000000000000000000000000000000000e+01");
    std::istringstream iss(s);
    double d;
    iss >> d;
    d += 10.303030;
    std::cout << d << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++ math scientific-notation type-conversion

14
推荐指数
2
解决办法
2万
查看次数

Python - 用科学计数法修正指数?

请考虑以下Python代码段:

for ix in [0.02, 0.2, 2, 20, 200, 2000]:
  iss=str(ix) + "e9"
  isf=float(iss)
  print(iss + "\t=> " + ("%04.03e" % isf ) + " (" + str(isf) + ")")
Run Code Online (Sandbox Code Playgroud)

它生成以下输出:

0.02e9  => 2.000e+07 (20000000.0)
0.2e9   => 2.000e+08 (200000000.0)
2e9     => 2.000e+09 (2000000000.0)
20e9    => 2.000e+10 (20000000000.0)
200e9   => 2.000e+11 (2e+11)
2000e9  => 2.000e+12 (2e+12)
Run Code Online (Sandbox Code Playgroud)

 

我的问题是 - 是否有可能以某种方式"回去"?那是:

2.000e+07 => 0.02e9 
2.000e+08 => 0.2e9
2.000e+09 => 2e9    
2.000e+10 => 20e9   
2.000e+11 => 200e9  
2.000e+12 => 2000e9 
Run Code Online (Sandbox Code Playgroud)

......我指定我希望指数为" e+09"; …

python scientific-notation format-specifiers

14
推荐指数
1
解决办法
3万
查看次数