可能重复:
Prevent scientific notation in ostream when using << with double
在计算后我得到1e-1作为结果如何将结果从指数转换为点符号,即0.1?为什么它会自动转换为指数表示法!!
答案 0 :(得分:5)
您可以使用fixed
I / O操纵器强制以定点表示法打印数字:
double d = 42.0;
std::cout << std::fixed << d;
(std::scientific
反其道而行之:它强制用科学记数法打印数字)
答案 1 :(得分:0)
Oracle(通常)不执行二进制数(some support was added in 10g)。 数字以内部格式保存,除非您使用隐式或显式TO_CHAR,否则由“客户”显示它们(或任何所需的“美化”)。
select to_number('1e-1') num,
to_char(to_number('1e-1'),'9.9EEEE') sci_num,
to_char(to_number('1e-1')) std_num
from dual;
NUM SCI_NUM ST
--------------- --------- --
.10 1.0E-01 .1