可能重复:
Prevent scientific notation in ostream when using << with double如何将指数形式的浮点值转换为点符号?
我得到1E-1作为计算后的结果如何我转换的结果从指数为点记号,即0.1?为什么它会自动转换为指数表示法!
可能重复:
Prevent scientific notation in ostream when using << with double如何将指数形式的浮点值转换为点符号?
我得到1E-1作为计算后的结果如何我转换的结果从指数为点记号,即0.1?为什么它会自动转换为指数表示法!
可以使用fixed
I/O操作器来强制数目要打印在定点表示法:
double d = 42.0;
std::cout << std::fixed << d;
(std::scientific
则正好相反:它迫使数在科学记数法要打印)
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
我想将这个值保存在两倍! – yesraaj 2010-08-29 17:44:38
@yesraaj:你什么意思? 42.0是42.0,并且如何格式化以便打印对存储值没有影响。 – 2010-08-29 17:45:53
我将值保存到一个数据库中,在这里我使用double将其转换为Oracle中适当的NUMBER类型。 – yesraaj 2010-08-29 17:46:48