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 |