teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2017/03/04 10:59

投稿

退会済みユーザー
answer CHANGED
@@ -59,4 +59,8 @@
59
59
  {
60
60
  return floor($price * 1.08);
61
61
  }
62
- ```
62
+ ```
63
+
64
+ ---
65
+
66
+ 税率は変更されるものなので、「基準日」の概念も必要となりますね。

2

少数部分を切り捨てる処理を追加

2017/03/04 10:59

投稿

退会済みユーザー
answer CHANGED
@@ -24,7 +24,7 @@
24
24
  $tax_rate = 1.08;
25
25
  $smarty->assign('tax_rate', $tax_rate);
26
26
 
27
- $price = 10000;
27
+ $price = 997;
28
28
  $smarty->assign('price', $price);
29
29
 
30
30
  $smarty->display('index.tpl');
@@ -40,7 +40,7 @@
40
40
  <title></title>
41
41
  </head>
42
42
  <body>
43
- <p>{($price * $tax_rate)|number_format|default:0}</p>
43
+ <p>{($price * $tax_rate)|floor|number_format|default:0}</p>
44
44
  <p>{$price|add_tax|number_format|default:0}</p>
45
45
  </body>
46
46
  </html>
@@ -57,6 +57,6 @@
57
57
  */
58
58
  function smarty_modifier_add_tax($price)
59
59
  {
60
- return $price * 1.08;
60
+ return floor($price * 1.08);
61
61
  }
62
62
  ```

1

追記

2017/03/04 10:54

投稿

退会済みユーザー
answer CHANGED
@@ -17,6 +17,9 @@
17
17
  // 強制コンパイル
18
18
  $smarty->force_compile = true;
19
19
 
20
+ // XSS対策
21
+ $smarty->escape_html = true;
22
+
20
23
  // 税率
21
24
  $tax_rate = 1.08;
22
25
  $smarty->assign('tax_rate', $tax_rate);