Les mathématiques.tour de Diviser le problème avec une valeur de type long

J'ai un problème avec la division d'une valeur de type long par 1 000 et arrondir à un nombre entier.

Ma longue valeur est: 1313179440000

Mon code est

long modificationtime = 1313179440000;
Math.round(modificationtime/1000l)

Si j'ai imprimer le divise et le formatage de la valeur, il me renvoie:
1313179392

.

value   : 1313179440000
expected: 1313179440
got     : 1313179392

Je ne sais pas pourquoi cela se produit.
Quelqu'un peut-il m'aider?

meilleures salutations,
prdatur

Qui ne fait pas de la compilation; ce qui fait votre code ressemblent réellement?
ajouter un l à la fin de 1313179440000 si elle est interprétée comme une valeur de type long
Cela dépend-il du compilateur? Le mien donne juste une erreur sur cette ligne.
monstre que Vous avez raison. C'est ce que je reçois de changement de langue.

OriginalL'auteur prdatur | 2011-08-26