2010-08-29 5 views

Répondre

5

Vous pouvez utiliser le manipulateur fixed E/S pour forcer le numéro à imprimer en notation à virgule fixe:

double d = 42.0; 
std::cout << std::fixed << d; 

(std::scientific fait le contraire: il force le nombre à imprimer en notation scientifique)

+0

Je voudrais enregistrer la valeur en double! – yesraaj

+1

@yesraaj: Que voulez-vous dire? 42.0 est 42,0 et la façon dont vous le formatez pour l'impression n'a aucun effet sur la valeur stockée. –

+0

Je sauvegarde la valeur dans une base de données, où j'utilise le double converti au type NUMBER approprié dans Oracle. – yesraaj

0

Oracle (généralement) ne fait pas de nombres binaires (some support was added in 10g). Les nombres sont conservés dans un format interne et, sauf si vous utilisez un TO_CHAR implicite ou explicite, il appartient au «client» de les afficher (ou à tout «prétendant» souhaité).

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 
Questions connexes