Avatar billede nidyahou Praktikant
14. februar 2009 - 17:02 Der er 6 kommentarer og
1 løsning

Problem med at dividere float med 100

Min funktion ser således ud:


      protected static float GetUnit(object o)
        {
            float number;
            string s = o.ToString();
            bool result = float.TryParse(s, out number);
            if (result)
            {
                return (number/100);
            }
            else
            {
                return 0;
            }

        }

Jeg passer værdier gennem <%# GetUnit(Eval("BestLoc"))%>

her får i lige nogle værdier så i kan se mit problem (de kommer i tabelform, men se bort fra det :)

    <td unit="2,74" class="0000">274</td>
   
    <td unit="0,21" class="0001">2.1</td>
   
    <td unit="0,06" class="0003">0.6</td>
   
    <td unit="1,41" class="0008">14.1</td>
Avatar billede arne_v Ekspert
14. februar 2009 - 17:07 #1
Og problemet er ?
Avatar billede driis Nybegynder
14. februar 2009 - 17:18 #2
Hvad er spørgsmålet ? :-)
Avatar billede nidyahou Praktikant
14. februar 2009 - 17:24 #3
sorry troede det fremgik. udregningen er da forkert af og til:

    <td unit="2,74" class="0000">274</td>
    275/100 = 2,74 < den her passer
    <td unit="0,21" class="0001">2.1</td>
    2.1/100 = 0.021 < den er gal
    <td unit="0,06" class="0003">0.6</td>
    0.6/100 = 0.006 < den her er også gal
    <td unit="1,41" class="0008">14.1</td>
    14.1/100 = 0.141 < den her sejler også
Avatar billede arne_v Ekspert
14. februar 2009 - 17:33 #4
bool result = float.TryParse(s, NumberStyles.Any, CultureInfo.InvariantCulture, out number);
Avatar billede arne_v Ekspert
14. februar 2009 - 17:34 #5
Problemet er at TryParse p.g.a. culture setting dansk vælger at ignorer 1000 separatoren '.' !
Avatar billede nidyahou Praktikant
14. februar 2009 - 17:43 #6
perfekt.

Drop et svar :)

Tusind tak for hjælpen.

Du ved ikke tilfældigvis hvordan man undgår samme problem i javascript. Det lader til at javascript også har det stramt med . og ,
Avatar billede arne_v Ekspert
14. februar 2009 - 17:46 #7
svar

Ingen anelse om JavaScript. Jeg tvivler lidt på at den har samme support for locale som .NET !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester