• ベストアンサー

数値をKBやMBの単位に変換

ファイルサイズをバイト、KB、MB、のどれかにしようと思うんですが、いいスクリプトが教えてください。 size = X if(size >= 1048576){ str = X / 1048576 + "MB" }else if(size >= 1024){ str = X / 1048576 + "KB" }else{ str = X + "バイト" } 作りかけなんですが、これでだいたいいいのでしょうか?

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

  • ベストアンサー
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

JavaScriptであれば、セミコロンが抜けてますよ。 size = xxxxx ; // xxxxxには数値を入れてね。 point = 2 ; // 小数点以下の何桁で表示するか tani = new Array("GB","MB","KB","Byte"); for (i=0,j=1073741824 ;i<4 ;i++,j/=1024){ if ( size >= j ){ str = Math.floor(size*Math.pow(10,point)/j)/Math.pow(10,point)+tani[i] ; break ; } } document.write(str); とりあえず、たたき台として、こんな感じでいかがですか? まだバグ有りですよ。 size = 0 だと何も表示しないけどね。

muenos
質問者

補足

ありがとうございます。 最大の単位はMBにして、forを使わずに処理速度優先に 改造したいと思います。

関連するQ&A

  • 画像サイズのMBとKBについて

    とても基本的なことだと思うのですが分かりません・・教えてください。 デジカメで撮った画像をパソコンに取り込むと、MBやKBなどという画像サイズが表示されますが、これは、どう読むのですか。メガバイト?キロバイト?ですか。  それと、MBの方がKBよりも大きい単位なのでしょうか。単位を換算すると、(1MB=〇〇KBというように。)どうなるのか、教えてください。 よろしくお願いします。

  • 300KBのPNGが10MBのEPSになってしまう

    いつもありがとうございます。 illustrator CS5で横長のA4ファイルをつくり、それに、300kbの画像ファイル(.png)をドラッグアンドドロップしました。 画像ファイルが、A4の枠におさまるように画面上で縮めたうえで保存するとepsファイルのサイズが10MBになっていました!! 画像ファイルの30倍の大きさになっています。なにゆえ?? epsのサイズを小さくする(たとえば5MB程度までに)には、もとの画像の解像度を落とせば、よいのでしょうか?それとも他になにか手があれば教えてください。

  • アップローダー「PHP」について

    まずは下記サイトをご覧ください。 PHPのアップローダーです。 http://www.netmania.jp/cgi/112.php サンプルを見るとおわかりの通り、 http://www.netmania.jp/cgi/up/ 仕様に、 >>■ファイルは800 KBまでアップロード可能です。 と書かれています。 これを →10MBまでアップロード可能に直したいのです。 しかし、単純にファイル内の ------------------------------------------- $limitk = 800; //アップロード制限(KB キロバイト) ------------------------------------------- を以下の様に、 ------------------------------------------- $limitk = 10000; //アップロード制限(KB キロバイト) ------------------------------------------- このように変更しても全く意味がありませんでした。 同ファイル下に以下のようなプログラムがあります。 これが少々ひっかかるのですが、もしかしたらここでしょうか? ------------------------------------------- function FormatByte($size){//バイトのフォーマット(B→kB) if($size == 0) $format = ""; else if($size <= 1024) $format = $size."B"; else if($size <= (1024*1024)) $format = sprintf ("%dKB",($size/1024)); else if($size <= (10*1024*1024)) $format = sprintf ("%.2fMB",($size/(1024*1024))); else $format = $size."B"; return $format; } ------------------------------------------- おそらくこの部分に関係してると思うのですが、 初心者な私は具体的にどう変更したら良いのかわかりません。 ご教授願います。

    • ベストアンサー
    • PHP
  • KBとMBの容量の違いを教えてください。

    とても初歩的な質問で恐縮なのですが、ファイルの重さを表現するときに使う、KBやMB(キロバイト、メガバイトと呼んでいいのですよね?)の単位の違いを教えてください。

  • K KB MB について詳しく教えて下さい

    初歩的な質問でごめんなさい。 K KB MB などよくソフトのところやダウンロードする際記入されてますが あまりよくわかりません 詳しくおしえて下さい。 出来ればサイズ順に並べていただけるとなおうれしいですが・・・

  • 画像を2.92MBから500KB以下に縮めたい

    急いでます! iPhoneで撮影した写真をPCに取り込んだら、1枚2.92MBありました。 添付して送りたいのですが、500KBまでしか送れません。 PCが変わってサイズを小さくする方法がサッパリわかりません! PCはWindows8です。 どうすれば500KBに出来ますか? 教えて頂けると助かります。 よろしくお願いします!

  • 画像のKBとMBと粗さ細かさについて教えてください

    もしかしたら、すごく恥ずかしい質問かもしれませんが、よろしくお願いします。 携帯電話の画像なんですが、画素数はよくわかりません。MBはKBの1000倍大きいと認識しています。私のXPERIA z1で撮った7.08MBの画像が、iPhoneで175KBの画像を撮っている人に、拡大すると画像が粗いと言われました。サイズ?容量?が大きければ画像が細かいわけではないんですか? ちなみに、結婚式のスクリーンに映す用に使うらしいので、携帯電話の画像を使うこと自体、無理があると思います。デジカメで撮ろうって言ったのに。何となく悔しいです。

  • メガバイト/秒、バイト/秒、キロバイト/秒の関係がわかりません。

    ある本によると『1Mbpsは128000バイト/秒(125kbytes/s)』と書いていました。これってどうゆうことなんでしょうか?どうやって計算するのでしょうか? 上記の関係をみると例えばインターネットの通信速度光100メガビーピーエスなら1秒間に100メガバイトダウンロードするって勘違いしてたのですが、、、どうやら違うようで、、、、。もやもやしてますおしえていただけますか? それと バイト、キロバイト、メガバイトの関係は1000バイトは1キロバイト、1000キロバイトが1メガバイトで合ってますでしょうか?基本的なことかもしれませんがよろしくお願いします。もしそれなら一番上に書いた128000バイト/秒が何故125キロバイト/秒になるのかわかりません。

  • 画像データをPDFにしたが、容量が小さい(320KB)ので、もっと大きく(1MB~2MB位)にしたい。

    自作の(A4サイズ)イラストをPDFにしたのですが、容量が軽すぎて(320KB)拡大すると細部がぼやけるので、もっと重くしたい(1MB~2MB)のですが方法を教えてください。

  • バイトをMBに直すには

    ファイルのプロパティを見てるのですが サイズが115 MB (121,004,032 バイト) となっているのですが、 バイトをMBに直すには、1024000で割ればいいんですよね? 121,004,032を1024000で割ると、118になってしまいます。 しかしファイルのプロパティを見ると、115MBになっています。 どのような計算式なのでしょうか? OSはXPです。