• ベストアンサー

VB関数(FORMAT関数)

素人でよく分からないのですが,VBを使用してプログラムを作成しようとしていますが,以前VB関数のFORMATを使用して四捨五入処理すると,正しく四捨五入されないと聞きましたが,これは本当ですか? また,最新バ-ジョンのVBではこの様なことは起こらないのですか?

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

  • ベストアンサー
  • ykkw_2001
  • ベストアンサー率26% (267/1014)
回答No.1

たぶんこれですね http://www.okweb.ne.jp/kotaeru.php3?q=88937 バグじゃなくて、(アメちゃんの)規格なので、今なおそのままでしょう。 日本人の感覚でやるには、Round() とか、 http://www.okweb.ne.jp/kotaeru.php3?q=166834 のような処理を行う関数を使うことでどうでしょうか?

kappa_02
質問者

お礼

早速の回答ありがとうございました.参考にします.

関連するQ&A

  • vb6の桁数指定

    こんばんわ。 vb6使用で、色々探してみたのですが、わかりませんでした。 12313133→そのまま 9797879797977896→9797977896 121212→そのまま 等を10桁に変換する関数です。 If IsNumeric(val) Then val = Format(val, "##########") endif これで10桁にできないのですが、正しい方法を教えてほしいです。 同様に 111.938 を 11.9(3は四捨五入) にする方法も、##.0ではないでしょうか? よろしくお願い致します。

  • VB6 丸めるとは?

    VB6で、 Mod演算子のMSDNヘルプを見てみると、 「演算結果は整数に丸められる」 とあります。 例として19 Mod 6.6は5.8ですが5になってしまいます。 また、CInt関数について同じくヘルプで調べてみると、 「少数部分は丸められます」 とあり、CInt(5.8)とすると6となってしまいます。 質問なのですが、 「丸める」と一口にいっても、四捨五入したり、切り捨てたりといろいろあるのだという認識であっているでしょうか? CIntなら小数部は四捨五入され、Modならいかなる数字であろうと小数部は切り捨てられる、ということでよいでしょうか?

  • format関数について

    VBで時刻をミリ秒まで表示したいのですが FORMATでSSより小さな単位ありますか? もしくはFORMAT関数を使用しないで表示できますか?

  • ASPでVBのFormat関数のような機能を使用したい

    ASPでVBのFormat関数のような機能を使用したいのですが無理でしょうか? (例) 1 を → "00001" に変換したい (例2) 10 を → "00010" に変換したい VBで使用してた機能 Result = Format(1,"00000") 上記のような機能をASPでありますでしょうか? どなたかご存知の方ご教授お願いいたします。

  • access2003と2007のRound関数について

    以前見た質問でround関数で四捨五入をするときは、 access97は銀行型の四捨五入をする access2000はround関数にバグがある という回答を見ました。 http://oshiete1.goo.ne.jp/qa3593239.html ちなみにaccess2003と2007はどうなんでしょうか? やはり四捨五入はint関数を使うほうが無難なのでしょうか? ご存知の方いらっしゃいましたらご教授下さい。 よろしくお願いします。

  • 関数について

    一つのセルに、平均値を出し、それを四捨五入したいのですが、 関数を複合設定するにはどうすれば良いのでしょうか。 例えば、=AVERAGE(T4:T34)で出した平均値を、=ROUNDを使用して、小数点第1位で四捨五入したいのですが、式はどうすれば良いのでしょうか?

  • 四捨五入に関して

    すでに似たような四捨五入の質問&回答が載ってますが、 自分のパターンは上手くいきませんでした。 例えば、"17174.7655"という数字を"17180"みたいに1桁目まで四捨五入をしたい場合、どのように記述すれば良いのでしょうか? また、Format関数を使用するとどのような書き方になりますか?

  • LOUND関数?

    関数式についての質問です。 例えば、110円の仕入値に1.3掛けた143円が売値とします。このような表を作成し関数式も入力しています。このときに売値が143~147のものについては(145)148~152のものについては(150)153~157のものについては(155)158~162のものについては(160)というような四捨五入に似通った表示方法は関数式で表示可能なのでしょうか?それともIF関数か何かを使用しないといけないのでしょうか?

  • ROUND関数で、四捨五入ができない。

    ROUND関数で、四捨五入ができない。 カラムの値が'8.5'の場合'9'になるはずなのですが、'8'となってしまいます。 解決方法ありますでしょうか? '4.5''6.5'の場合でも、四捨五入ができないです。 SELECT カラムA,ROUND(カラムA) FROM テーブル ----------------------------------------  カラムA |  ROUND(カラムA) ----------------------------------------   5.5   |   6          ←四捨五入ができている ----------------------------------------   8.5   |   8          ←四捨五入ができない ----------------------------------------   4.5   |   4          ←四捨五入ができない ---------------------------------------- XAMPP 1.7.3の MySQL 5.1.41を使用しています。

    • ベストアンサー
    • MySQL
  • 関数 ROUNDとセルの書式設定

    こんにちは。 EXCEL初心者です。 関数について、ふと思ったことがありましたので質問させてください。 ROUNDとか*UPや*DOWNという関数がありますよね? 調べてみるとこの関数の行う処理は、「値を指定した位で四捨五入する関数です。消費税の計算など小数点以下の位を四捨五入する時などに使えます」とのことですが、この処理は、「セルの書式設定」→「数値」で出来る設定と同じような気がするのですが、なにか違うのでしょうか? よろしければ「こんな使い方もあるよ」的なことを紹介していただけるとうれしいです。

専門家に質問してみよう