Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2016
    Messaggi
    89

    C# come ottenere l'intero resto di un double?

    Se faccio questo calcolo:
    codice:
    Console.WriteLine((double)5 / (double)9);
    
    Output:
    0,555555555555556
    come faccio ad ottenere in una stringa solo il resto, ovvero, 555555555555556 ?
    Grazie

  2. #2
    Trasformi in numero in una stringa, trovi la posizione X della stringa "," con IndexOf e ottieni il resto come SubString(X+1).

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    Oppure con una Split.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    57
    attenzione ad usare le stringhe per questo genere di operazioni,
    se l'applicativo utilizza la cultura specifica del dispositivo quanto proposto potrebbe fallire,

    ti conviene trovare una soluzione matematica ad un problema matematico,
    ad esempio con l'utilizzo dell'operatore modulo

    ps: per evitare "perdita" di precisione le operazioni eseguile su tipi di dati decimal

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2016
    Messaggi
    89
    grazie a tutti, l'operatore modulo mi da la prima cifra del resto e non il resto completo (non so per quale motivo)...
    mi serve una stringa perchè devo contare da quanti caratteri è formato il resto.
    Grazie mille a tutti

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Guarda che il modulo di 5 / 9 è 5

    Se ti serve il risultato in virgola mobile, è un'altra storia (e nel caso mostrato è anche un numero decimale periodico ...)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    messaggio ripetuto, sorry
    Ultima modifica di eziogsv; 16-03-2017 a 17:23

  8. #8
    Quote Originariamente inviata da Marsh Visualizza il messaggio
    attenzione ad usare le stringhe per questo genere di operazioni,
    se l'applicativo utilizza la cultura specifica del dispositivo quanto proposto potrebbe fallire
    Beh, se è per questo basterebbe fare un Replace (",",".") e poi cercare l' ultimo punto con un LastIndexOf, ovviamente dopo essersi accertati che il numero contiene effettivamente decimali.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    57
    Quote Originariamente inviata da eziogsv Visualizza il messaggio
    Beh, se è per questo basterebbe fare un Replace (",",".") e poi cercare l' ultimo punto con un LastIndexOf, ovviamente dopo essersi accertati che il numero contiene effettivamente decimali.
    certamente si ottiene lo stesso risultato ma,
    -scorrere l'array per rimpiazzare (n),
    -scorrere l'array per trovare l'indice (n),
    -copiare parte della memoria,
    è una sequenza di operazioni piuttosto intense per quanto riguarda il risultato

    sostituibile da:
    -risultato % 1 (ev. ? segno)
    -copiare parte della memoria

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.