Mercurial > mercurial > hgweb_golang.cgi
comparison src/entai/entai.go @ 4:4c6bfc90d75c
rate fix & not consider last date
| author | pyon@macmini |
|---|---|
| date | Tue, 18 Oct 2016 21:28:25 +0900 |
| parents | ca866a38a6a0 |
| children | e4066309b04f |
comparison
equal
deleted
inserted
replaced
| 3:ca866a38a6a0 | 4:4c6bfc90d75c |
|---|---|
| 1 /****************************************************************************/ | 1 /****************************************************************************/ |
| 2 /* Entai.go ( ver 0.3 ) */ | 2 /* Entai.go ( ver 0.3 ) */ |
| 3 /* Last Change: 2016-10-16 Sun 09:50:13. */ | 3 /* Last Change: 2016-10-18 Tue 21:26:15. */ |
| 4 /* By T.Mutoh */ | 4 /* By T.Mutoh */ |
| 5 /****************************************************************************/ | 5 /****************************************************************************/ |
| 6 | 6 |
| 7 package entai | 7 package entai |
| 8 | 8 |
| 31 | 31 |
| 32 func ( e *Entai ) DefaultRates() { | 32 func ( e *Entai ) DefaultRates() { |
| 33 // 1カ月まで, 1カ月経過後, 元旦 | 33 // 1カ月まで, 1カ月経過後, 元旦 |
| 34 createRates( 4.3, 14.6, "20120101" ) // H24 | 34 createRates( 4.3, 14.6, "20120101" ) // H24 |
| 35 createRates( 4.3, 14.6, "20130101" ) // H25 | 35 createRates( 4.3, 14.6, "20130101" ) // H25 |
| 36 createRates( 4.3, 14.6, "20140101" ) // H26 | 36 createRates( 2.9, 9.2, "20140101" ) // H26 |
| 37 createRates( 2.9, 9.2, "20150101" ) // H27 | 37 createRates( 2.8, 9.1, "20150101" ) // H27 |
| 38 createRates( 2.8, 9.1, "20160101" ) // H28 | 38 createRates( 2.8, 9.1, "20160101" ) // H28 |
| 39 createRates( 2.8, 9.1, "20170101" ) // H29 ***** | 39 createRates( 2.8, 9.1, "20170101" ) // H29 ***** |
| 40 | 40 |
| 41 for range nyds { | 41 for range nyds { |
| 42 e.yd0 = append( e.yd0, 0 ) | 42 e.yd0 = append( e.yd0, 0 ) |
| 113 } | 113 } |
| 114 if e.paid.Sub( tmp ) == 0 { | 114 if e.paid.Sub( tmp ) == 0 { |
| 115 for j, _ := range nyds { | 115 for j, _ := range nyds { |
| 116 e.yd1[j] -= e.yd0[j] | 116 e.yd1[j] -= e.yd0[j] |
| 117 } | 117 } |
| 118 e.yd1[len(e.yd1)-1]-- | 118 e.ed = i |
| 119 e.ed = i - 1 | 119 //e.yd1[len(e.yd1)-1]-- // コメントアウト:最終日を参入しない |
| 120 //e.ed-- // 同上 | |
| 120 break | 121 break |
| 121 } | 122 } |
| 122 } | 123 } |
| 123 } | 124 } |
| 124 | 125 |
| 154 /* 追加情報 */ | 155 /* 追加情報 */ |
| 155 detail := fmt.Sprintf( "%d,%.0f,%d =", e.tax, tmp, e.ed ) | 156 detail := fmt.Sprintf( "%d,%.0f,%d =", e.tax, tmp, e.ed ) |
| 156 for i, _ := range nyds { | 157 for i, _ := range nyds { |
| 157 tmp1 := float64( e.yd0[i] ) * rate0s[i] * float64( e.tax ) / 365.0 | 158 tmp1 := float64( e.yd0[i] ) * rate0s[i] * float64( e.tax ) / 365.0 |
| 158 tmp2 := float64( e.yd1[i] ) * rate1s[i] * float64( e.tax ) / 365.0 | 159 tmp2 := float64( e.yd1[i] ) * rate1s[i] * float64( e.tax ) / 365.0 |
| 159 detail += fmt.Sprintf( ": %d %d (%.0f+%.0f=%.0f)", e.yd0[i], e.yd1[i], tmp1, tmp2, tmp1 + tmp2 ) | 160 detail += fmt.Sprintf( ": %d %d (%.1f+%.1f=%.1f)", e.yd0[i], e.yd1[i], tmp1, tmp2, tmp1 + tmp2 ) |
| 160 } | 161 } |
| 161 | 162 |
| 162 return intrst, detail | 163 return intrst, detail |
| 163 } | 164 } |
| 164 | 165 |
