perl プログラムの質問です。 - にぽたん研究所

June 02, 2005

このエントリーをはてなブックマークに追加
perl プログラムの質問です。
はじめまして perlプログラミング初歩的な質問です。
まず下の例を見てください。

$te = 150000 * 0.0055
$te1 = te * 12
$te3 = 150000 + $te1
$te4 = te3 / 12
↑このまま計算してしまうと $te4は 13325 となりますが、
ここで質問です。 この 13325 下2ケタを切捨てしたいのですが
13300にしたいのですが、どういうプログラムになるのでしょうか?
簡単にいえば 下2ケタを切捨てする処理方法(命令)を教えてもらいたいのですが よろしければ 教えてくださいm(__)m
よろしくお願いします。
或る日の referer にこのページがあった。

行末セミコロン必須でおながいします。

まぁ、細いことはいいとして (良くないけど) レスがついてらっしゃる…。
http://blog.livedoor.jp/nipotan/archives/18935329.html
ここを参考にしてみてください。

但し小数点を自分で作る必要があります。

$te4/100

で、切捨て後に最後に元の桁になるように掛ける、と。

$te4*100

正規表現でも良いですけど。
オッチョンジ なんでこんなとこに誘導するかなぁ…。

…ということで、末尾の「正規表現でも良いですけど。」を受けまして、正規表現でいきませう。
$te4 =~
    s{^([-+]?)((\d*?)(?:\d\d)?)(?:\.\d+)?$}
        {length $2 >= 3 ? $1 . $3 . '00' : '0'}ee;
うーむ。
こんなやりかたで解決しようだなんて、とってもオバカみたいだね。。。

普通にやるなら
$te4 = $te4 - $te4 % 100;
で。。。

nipotan at 13:32 | Comments(3) | TrackBack(0) | 技術 
このエントリーをはてなブックマークに追加

Trackback URL for this entry

Comments

1. Posted by miyagawa   June 02, 2005 14:19
オッチョンジなんでそんなこというかなぁ〜
2. Posted by nipotan   June 02, 2005 15:24
miyagawa さんならきっとオッチョンジに食いついてくると思ってますたw
3. Posted by andi   June 02, 2005 20:48
ご迷惑をお掛けしました。
色々と調べて一番まとまっていましたので。
私自身も勉強させて頂きましたm(_ _)m。

Post a comment

Name:
URL:
  Remember info?: Rate: Face    Star