Comment detail

税込み価格への修正 (Nested Flatten)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class ExciseTax {
	
	private double rate;
	
	public ExciseTax(double rate) {
		this.rate = 1.0 + rate;
	}
	
	public String includeTax(String string) {
		Pattern p = Pattern.compile("\\d+");
		Matcher m = p.matcher(string);
		StringBuffer sb = new StringBuffer();
		while (m.find()) {
			m.appendReplacement(sb, calcTaxIncludedPrice(m.group()));
		}
		m.appendTail(sb);
		return sb.toString();
	}
	
	private String calcTaxIncludedPrice(String price) {
		return Long.toString((long)(Long.parseLong(price) * rate));
	}
	
	public static void main(String[] args) {
		System.out.println(new ExciseTax(0.05).includeTax("ダイコン150円、ハクサイ120円、ジャガイモ30円"));
	}
	
}

Index

Feed

Other

Link

Pathtraq

loading...