FAQ |
Kalender |
|
![]() |
#1 | ||
|
|||
Klarade millennium-buggen
|
Blandning av heltal och double om jag inte tolkar bilden helt fel.
Ser ut att vara Java-kod: Kod:
// Declaration and defaults double dblDonationAmount=0; double dblPaysonFeeSEK=0; double dblPaysonFeePercent=0.03; double dblPaysonFeeMinimum=3.00; double dblReceivedAmount=0; // Calculation of PaysonFees dblDonationAmount = double.Parse(dblDonationAmount.ToString()); dblPaysonFeeSEK = (dDonationAmount * dblPaysonFeePercent) + dblPaysonFeeMinimum; dblReceivedAmount= dblDonationAmount - dblPaysonFeeSEK; 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. Senast redigerad av Conny Westh den 2011-03-26 klockan 00:55 |
||
![]() |
![]() |
Svara |
Ämnesverktyg | |
Visningsalternativ | |
|
|