Skip to content

Commit 9bfa69b

Browse files
committed
ch01: usd 함수 추출
1 parent cf44c44 commit 9bfa69b

File tree

2 files changed

+25
-19
lines changed

2 files changed

+25
-19
lines changed

.idea/codeStyles/Project.xml

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/kotlin/chapter01/Statement.kt

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,30 @@ package chapter01
33
import java.text.NumberFormat
44
import java.util.Locale.US
55

6+
fun usd(number: Int): String {
7+
return NumberFormat.getCurrencyInstance(US).format(number / 100.0)
8+
}
9+
610
fun statement(invoice: Invoice, plays: Plays): String {
711
return renderPlainText(createStatementData(plays, invoice), plays)
812
}
913

14+
private fun renderPlainText(data: StatementData, plays: Plays): String {
15+
var result = "청구 내역 (고객명: ${data.customer})\n"
16+
for (perf in data.performances) {
17+
// 청구 내역을 출력한다.
18+
result += " ${perf.play.name}: ${usd(perf.amount)} (${perf.audience}석)\n"
19+
}
20+
result += "총액: ${usd(data.totalAmount)}\n"
21+
result += "적립 포인트: ${data.totalVolumeCredits}"
22+
return result
23+
}
24+
1025
fun htmlStatement(invoice: Invoice, plays: Plays): String {
1126
return renderHtml(createStatementData(plays, invoice))
1227
}
1328

1429
fun renderHtml(data: StatementData): String {
15-
fun usd(number: Int): String {
16-
return NumberFormat.getCurrencyInstance(US).format(number / 100.0)
17-
}
18-
1930
var result = "<h1>청구 내역 (고객명: ${data.customer})</h1>\n"
2031
result += "<table>\n"
2132
result += "<tr><th>연극</th><th>좌석 수</th><th>금액</th></tr>\n"
@@ -28,18 +39,3 @@ fun renderHtml(data: StatementData): String {
2839
result += "<p>적립 포인트: <em>${data.totalVolumeCredits}</em>점</p>"
2940
return result
3041
}
31-
32-
private fun renderPlainText(data: StatementData, plays: Plays): String {
33-
fun usd(number: Int): String {
34-
return NumberFormat.getCurrencyInstance(US).format(number / 100.0)
35-
}
36-
37-
var result = "청구 내역 (고객명: ${data.customer})\n"
38-
for (perf in data.performances) {
39-
// 청구 내역을 출력한다.
40-
result += " ${perf.play.name}: ${usd(perf.amount)} (${perf.audience}석)\n"
41-
}
42-
result += "총액: ${usd(data.totalAmount)}\n"
43-
result += "적립 포인트: ${data.totalVolumeCredits}"
44-
return result
45-
}

0 commit comments

Comments
 (0)