![]() |
behöver hjälp med ett litet script
Hejsan,
skulle behöva lite hjälp med att lösa denna script. För någon anledning får jag 'dPaysonFee' till 100, när svaret egentligen borde bli 6. felet ligger vid ' (dDonationAmount * 0.03) + 3.00' som räknar ut detta till 100, när det egentligen bör vara 6... :S iDonationAmount = 100; double dDonationAmount = double.Parse(iDonationAmount.ToString()); double dPaysonFee = (dDonationAmount * 0.03) + 3.00; dDonationAmount = dDonationAmount - dPaysonFee; iDonationAmount = int.Parse(dDonationAmount.ToString()); skulle också uppskatta om någon kunde hjälpa dig att göra den mindre... känns rätt krångligt script för sån liten sak... |
Dags att gå om årskurs 4, 5 och 6? :-)
Enkel matematik. ( 100 * 0,03 ) = 3 3 - 3 = 0. (Remsa från Kalkylatorn: Kod:
(100*0.03)-3 |
Blandning av heltal och double om jag inte tolkar bilden helt fel.
Ser ut att vara Java-kod: Kod:
// Declaration and defaults Det stora felet var att du drog bort minimiavgiften från avgiftsvariabeln, så jag bytte i princip tecken från minus till plus, sen har jag rensat bort heltalsvariabler som inte verkade tillföra någon nytta. Min rekommendation är att du bryter ut detta till en egen klass som du kallar PaysonAPI eller så och att du lyfter bort parseanropet och i stället skickar in färdigparsat data i en double-deklarerad variabel som parameter till en Beräkningsmetod. Blanda inte ihop användargränssnitt med affärsregler på detta sätt som skett med att ha parsefunktioner ihop med beräkningar av avgifter. Om du separerar användargränssnittet så kan du ha gränssnittsrelaterad felhantering där och annan felhantering inne i beräkningarna som bättre passar där. Återanvänd inte variabler så värdet inte stämmer med namnet på variabeln (dblDonationAmount ), jag bytte namnet på slutvariabeln till dblReceivedAmount så det beskriver vad den innehåller. |
också använd decimal istället för double när du räknar med pengar
|
Alla tider är GMT +2. Klockan är nu 15:46. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson