2016-06-22 4 views
-1

J'appelle ToMinutes() sur un DateTime nullable, cela renvoie un double mais je souhaite le convertir en nombre entier le plus proche s'il n'est pas null.Comment arrondir au nombre entier le plus proche

exemple: De 1534488.74496255-1534489

Comment puis-je faire cela?

+0

LESQUELLES ~ 1534489 millisecondes? Quels sont 25,57481667 minutes, donc ~ 26 minutes? Ou ce que cette valeur représente? Ou vous voulez convertir la chaîne '1534488.74496255' en 1534489 (étant un nombre entier) minutes? –

+0

Est-ce une chaîne? Quel type voulez-vous? Quel format? Quelle culture? Exemples? – galakt

+0

Est-ce une double valeur représentant datetime? – sawbeanraz

Répondre

0

Lorsque vous voulez arrondir, juste autour:

double source = 1534488.74496255; 

    // if you want double (i.e. floating point result) 
    double result = Math.Round(source); 

    // if you want integer outcome (and source is positive) 
    int minutes = (int) (source + 0.5); 

    // if you want integer outcome (general case) 
    int minutes = (int) (source > 0 ? source + 0.5 : source - 0.5); 
+0

Merci, cela fonctionne, n'a pas réalisé ToMinutes() retourné double. :) –

+0

@ife labolz: de rien! Pourriez-vous, s'il vous plaît, également éditer votre question? Je veux dire, que vous avez le champ DateTime, alors vous appelez ToMinutes() ', ce qui retourne' double' et le 'double' renvoyé devrait être arrondi. –

+0

Ceci est fait :) –

1

Pourrait-il être quelque chose comme vous suivez l'êtes après? Ceci renvoie l'entier inférieur le plus proche.

int timeAsWholeMinute = (int) Math.Floor(timeInMinutes); 

ou si vous voulez juste l'entier le plus proche:

int timeAsWholeMinute = (int) Math.Round(timeInMinutes);