Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    2

    Operazione matematica con numero molto esteso

    buonasera a tutti!
    forse è una domanda banale (e nel caso mi scuso) ma sono un neofita e un autodidatta

    Sono arrivato ad avere un numero di 30 cifre costruito concatenando diverse variabili così:
    $numero_30=$var1.$var2.$var3.$var4.$var5;

    la variabile sembra costruita bene visto che con echo vedo il numero corretto.

    Poi però mi serve dividerla per 26 e sapere il resto della divisione. Così uso il modulo nel seguente modo:

    $resto=($numero_30 % 26);

    ma il risultato dell'operazione è sbagliato: mi da sempre lo stesso numero qualsiasi $numero_30 io inserisca.

    Qualcuno è così gentile da dirmi dove sbaglio?

    Grazie a tutti in anticipo!
    m

  2. #2
    $numero_30 è un float e l'operatore di modulo lavora solo con interi, il tuo float viene scalato a PHP_INT_MAX e quindi ottieni sempre lo stesso risultato.

    Ti conviene lavorare con le stringhe e poi usare bcmod:

    codice:
    $var1 = '123456789123456789';
    $var2 = '123456789123';
    $num = $var1.$var2;
    $resto = bcmod($num,'26'); /* 3 */

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    2
    Grazie infinite BlitzKrieg: funziona!!!
    Te ne sono grato.

    Mauro

  4. #4
    Di niente, anzi la domanda era interessante e per niente stupida

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 © 2025 vBulletin Solutions, Inc. All rights reserved.