Je m'explique...
Je souhaite convertir un nombre d=E9cimal (quitte =E0 le tronquer s'il est
trop long) en chiffre format=E9 sur 16 positions num=E9riques (compl=E9t=E9=
=E0
gauche par des chiffres 0), dont 15 repr=E9sentent la partie d=E9cimale,
et 1 position ,qui repr=E9sente un indice de d=E9cimalisation. En gros, on
divise le chiffre sur 15 positions par 10 puissance l'indice de
d=E9cimalisation, et on obtient le nombre d=E9cimal.
Exemples :
0.01 devient 0000000000000012 soit 1 / 10 ^ 2
1.2543 devient 0000000000125434 soit 12543 / 10 ^ 4
comment faire ? disposez vous d'un algorithme pour ce faire en java ?
Merci par avance
Christophe
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Marc Petit-Huguenin
On 10/04/2011 01:51 PM, titof92 wrote:
Je m'explique... Je souhaite convertir un nombre décimal (quitte à le tronquer s'il est trop long) en chiffre formaté sur 16 positions numériques (complété à gauche par des chiffres 0), dont 15 représentent la partie décimale, et 1 position ,qui représente un indice de décimalisation. En gros, on divise le chiffre sur 15 positions par 10 puissance l'indice de décimalisation, et on obtient le nombre décimal. Exemples : 0.01 devient 0000000000000012 soit 1 / 10 ^ 2 1.2543 devient 0000000000125434 soit 12543 / 10 ^ 4 comment faire ? disposez vous d'un algorithme pour ce faire en java ?
BigDecimal d = new BigDecimal("0.01"); assert "0000000000000012".equals(String.format("%015d%d", d. unscaledValue(), d.scale())); d = new BigDecimal("1.2543"); assert "0000000000125434".equals(String.format("%015d%d", d. unscaledValue(), d.scale()));
On 10/04/2011 01:51 PM, titof92 wrote:
Je m'explique...
Je souhaite convertir un nombre décimal (quitte à le tronquer s'il est
trop long) en chiffre formaté sur 16 positions numériques (complété à
gauche par des chiffres 0), dont 15 représentent la partie décimale,
et 1 position ,qui représente un indice de décimalisation. En gros, on
divise le chiffre sur 15 positions par 10 puissance l'indice de
décimalisation, et on obtient le nombre décimal.
Exemples :
0.01 devient 0000000000000012 soit 1 / 10 ^ 2
1.2543 devient 0000000000125434 soit 12543 / 10 ^ 4
comment faire ? disposez vous d'un algorithme pour ce faire en java ?
BigDecimal d = new BigDecimal("0.01");
assert "0000000000000012".equals(String.format("%015d%d", d.
unscaledValue(), d.scale()));
d = new BigDecimal("1.2543");
assert "0000000000125434".equals(String.format("%015d%d", d.
unscaledValue(), d.scale()));
Je m'explique... Je souhaite convertir un nombre décimal (quitte à le tronquer s'il est trop long) en chiffre formaté sur 16 positions numériques (complété à gauche par des chiffres 0), dont 15 représentent la partie décimale, et 1 position ,qui représente un indice de décimalisation. En gros, on divise le chiffre sur 15 positions par 10 puissance l'indice de décimalisation, et on obtient le nombre décimal. Exemples : 0.01 devient 0000000000000012 soit 1 / 10 ^ 2 1.2543 devient 0000000000125434 soit 12543 / 10 ^ 4 comment faire ? disposez vous d'un algorithme pour ce faire en java ?
BigDecimal d = new BigDecimal("0.01"); assert "0000000000000012".equals(String.format("%015d%d", d. unscaledValue(), d.scale())); d = new BigDecimal("1.2543"); assert "0000000000125434".equals(String.format("%015d%d", d. unscaledValue(), d.scale()));