cojicojiです。
お世話になります。
@filesize で表示されるバイト数を、MB表示に変えたいのですが、よい方法はありませんでしょうか?
例 10240000 → 10.0MB
のような感じです。
ファイルサイズの表示について
Re: ファイルサイズの表示について
webmasterです。cojicojiさん、いつもご質問ありがとうございます。
まずはそのものズバリの例を挙げます。
例として、file1というファイル項目を表示しています。結果は、例えば
「sample.mp3(1.8MB)」
のようになります。
肝は、
の部分です。
「A div B」で、A割るBを表します。
また、「round(A)」で、Aを小数点以下で四捨五入して整数に丸めます。
バイト→MBへの変換なので、基本的には1024000で割ればOKなのですが、
小数点1桁まで四捨五入したいので、roundという命令を使っています。
しかしroundを使うだけでは小数点1桁の情報が消えてしまうので、
・まず、102400(1桁少ない)で割って、
・結果をroundで整数に丸めて、
・その後、1/10にする。
という手順を踏んでいます。
その結果を、format-number関数を使って、小数点1桁まで表示しています。
もし、小数点2桁まで表示したい場合は、10240で割ってroundしてから1/100する
という手順でOKです。(その場合には、format-number関数の第二引数を'###0.00'にして下さい)
こういうご質問は他の方にも非常に役に立つと思いますので、いつも大助かりです。
今後ともよろしくお願いいたします。m(_ _)m
ご参考までに、XSLTで簡単な計算を行う為の情報源を添付します。
■XSLTスタイルシート書き方講座(2):XPathの書き方の基本
http://www.atmarkit.co.jp/fxml/tanpatsu ... slt02.html
■たのしいXML:XPathとXSLTの関数【数値関数】
http://www.cityfujisawa.ne.jp/~yanai/xm ... tep30.html
まずはそのものズバリの例を挙げます。
コード: 全て選択
<a href="{file1}"><xsl:value-of select="file1/@org" />(<xsl:value-of select="format-number(round(file1/@filesize div 102400) div 10,'###0.#')" />MB)</a>
「sample.mp3(1.8MB)」
のようになります。
肝は、
コード: 全て選択
<xsl:value-of select="format-number(round(file1/@filesize div 102400) div 10,'###0.#')" />
「A div B」で、A割るBを表します。
また、「round(A)」で、Aを小数点以下で四捨五入して整数に丸めます。
バイト→MBへの変換なので、基本的には1024000で割ればOKなのですが、
小数点1桁まで四捨五入したいので、roundという命令を使っています。
しかしroundを使うだけでは小数点1桁の情報が消えてしまうので、
・まず、102400(1桁少ない)で割って、
・結果をroundで整数に丸めて、
・その後、1/10にする。
という手順を踏んでいます。
その結果を、format-number関数を使って、小数点1桁まで表示しています。
もし、小数点2桁まで表示したい場合は、10240で割ってroundしてから1/100する
という手順でOKです。(その場合には、format-number関数の第二引数を'###0.00'にして下さい)
こういうご質問は他の方にも非常に役に立つと思いますので、いつも大助かりです。
今後ともよろしくお願いいたします。m(_ _)m
ご参考までに、XSLTで簡単な計算を行う為の情報源を添付します。
■XSLTスタイルシート書き方講座(2):XPathの書き方の基本
http://www.atmarkit.co.jp/fxml/tanpatsu ... slt02.html
■たのしいXML:XPathとXSLTの関数【数値関数】
http://www.cityfujisawa.ne.jp/~yanai/xm ... tep30.html
ファイルサイズの表示について2
cojicojiです。
期待していたファイルサイズが表示されました。助かります。
割と大きなファイルのアップロードを行うケースがありますので、
ユーザが意識しやすいファイルサイズの表示は必須と考えておりました。
(一般の方はByteではピンとこないですよね)
またよろしくお願いいたします。
期待していたファイルサイズが表示されました。助かります。
割と大きなファイルのアップロードを行うケースがありますので、
ユーザが意識しやすいファイルサイズの表示は必須と考えておりました。
(一般の方はByteではピンとこないですよね)
またよろしくお願いいたします。