• ベストアンサー

awkにおける値の切り上げ方法について

awkにおいて、小数点以下を切り上げ、整数としたいのですが、 その方法を教えて下さい。 a=13.27 のとき、 小数点以下を切り上げた値14を bに代入したい。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.1

もし値の範囲が限定できれば、例えば「0以上1000未満」であれば 1000-int(1000-a) で出来ますが、一般的にはif文での処理が必要です。 function ceil(x){if(x==int(x)) return x;if(x>0) return int(x)+1;else return int(x)-1;} {print ceil($0)}

関連するQ&A

  • Excel 小数点以下を切り捨てた値を集計する方法

    エクセル2010を使っている者です。 小数点以下を切り捨てた状態で集計する方法についてお教えください。 A1 3 B1 9 C1 A2 =rounddown(A1*0.8) B2 =rounddown(B1*0.8) C2 =sum(A2:B2) と値、計算式を入れた場合、C2の値が、2+7で9になってほしいところが、10になってしまいます。 A2とB2が表示上は、それぞれ2、7となっているのですが、計算の時は2.4、7.2で計算されているからだと思います。 小数点以下を切り捨てた状態で集計するにはどうすれば良いでしょうか? よろしくお願いいたします。

  • 小数点以下の値を判断したいです

    DBから取得する値が3ならば3と、3.5なら3.5と取得したいです。 この時にint型で取得すると小数点以下が切られてしまいます。 double型で取得すると3.5は3.0となってしまいます。 どうしたらよいのでしょうか? 整数値であればintで小数値を含むならばdoubleで取得するようなロジックにしようかと思っているのですが、小数点以下の値を判別させる方法はありますでしょうか?

  • 1÷xの小数点2位の値がxと同じになるxを探す方法

    xが10未満の正の整数としたとき、 1÷xの小数点2位がxと同じになるxを探す方法を教えてください。 単純に一つずつ計算する必要があるのでしょうか。 例えば、 1÷3=0.333... と小数点2位の値とxの値が3で同じになるようなxを探す方法。

  • awkでファイルから読み込んだ値を、演算させるにはどうしたら良いですか

    awkでファイルから読み込んだ値を、演算させるにはどうしたら良いですか。 ファイル(hoge.txt)の内容は、次の通り(全4行) 123 456 50 20 これを、bashスクリプトで計算させます。 FF=`cat hoge.txt | awk 'BEGIN {x=$2;printf ("%s, %s", (148+x*0.05), x);}'` echo "答え = ${FF}" このときの$2の値は、50です。但し、文字列として扱われているようです。 xの値を、数値として代入され、四則演算をさせるにはどうしたら良いですか? 以上、よろしくお願いします。

  • 「値」とはなんですか?

    「値」とは「整数、小数(純小数、帯小数)、分数で表したもの」ですか? 例えば、√5の「値」は、「2.2360679」のように帯小数で表したもの。

  • 小数点のある値のみにある数字を参照

    WIN7 EXCELL2010です A列に整数と小数点の入った数値が入力します。 ただし小数点は1位で0.5のみでそれ以外の小数点はないです。 ここでご指導いただきたいのは A3のように小数点、0.5がついたもののみB3のように 1,000と出るようにしたいのですが 可能でしょうか もし可能なら教えていただけないでしょうか。 よろしくおねがいします。

  • VBA小数点以下3桁設定の判定方法を教えてください

    Excel Vbaで小数点以下3桁の設定がされているか判断する方法を教えてください。 小数点以下3桁の設定がされているのか知りたくて、対象セルの NumberFormat の値を「0.000」か「0.000_」で比較してもうまくいかない場合があります。その値が小数点以下ちょうど3桁の有限小数の場合は小数点以下3桁の設定をしても、NumberFormat の値は「General」のままであるのがその理由みたいです(?)。「General」を比較の値に採用しても3桁であるかの情報が得られそうにないと思えるので困っています。小数点以下3桁の有限小数であるかの判定方法を別途用意するしかないのでしょうか。その場合は、簡単で正確な判定方法を教えてください。ちなみに小数は8桁以内の整数と8桁以内の整数の商(割り算)になります。 よろしくお願いします。

  • 整数部分、小数部分

    (問題) 1/√2-1の整数部分をa、少数部分をbとするとき a^2+b^2+2bの値を求める。 (答え) 5 下記の通り計算しました。 整数部分から求める。 √2+1/(√2-1)(√2+1)=√2+1 √2=1.4142・・・なので、1.4+1=2.4≒2 整数部分a=2としました。 小数部分はもとの数から整数部分を引くということで b=[1/√2-1]-2としました。 それをa^2+b^2+2bへ代入してみたのですが、答えが5になりません。 整数部分、小数部分という言葉から忘れていたので、途中の計算もこれで合っているかどうかも自信がありません。 本を見ても解らないので、教えていただけないでしょうか?宜しくお願い致します。

  • アクセスでの小数点の切り上げについて

    分かる方、教えてください。 アクセスで小数点を切上げて、整数にする場合、 上手い方法はあるのでしょうか?   少数  整数   0.5 → 1   1.1 → 2   1.5 → 2 よろしくお願いいたします。

  • 最適な端数処理方法と処理位置を知りたい

    1から99,999,999,999までの整数Aと0.01から999,999.99までの小数Bがあり、A÷Bの商Cに再度Bを掛けて得られる積をAと同じ値にしたいです。A÷BとC×Bの算出時に四捨五入等・切り捨て・切り上げのいずれかの処理を行わなければならない場合、両式の小数点第何位でどの処理をすれば結果がAになるでしょうか。 よろしくお願いいたします。

専門家に質問してみよう