« [ReName]フォルダにサイズを入れてリネームする | トップページ | フォルダ内一覧HTML(サイズ表記修正) »

ファイルサイズ表記


【スクリプトエディタで開く】|


log doGetFileSize(6410)
log doGetFileSize("916,564,470")
log doGetFileSize("1,504,749,906")

####################################
# ファイルサイズ表記 入力は小数点の無いバイト
####################################
to doGetFileSize(argNumByteSize)
  #念の為カンマを取る
  set strNumber to doDelComma2Text(argNumByteSize) as text
  #受け取り値を数値で確定
  set numFileSize to strNumber as integer
  # バイト単位 10.5以前やWindowsターゲットの場合は1024に
  set numByteUnits to 1000 as integer
  # 単位分岐
  if numFileSize < numByteUnits then
    # log "b:バイト単位"
    set strFileSize to doRound2Dec(numFileSize) as text
    set strFileSize to (strFileSize & " B") as text
  else if numFileSize < (numByteUnits * numByteUnits) then
    # log "kb:キロバイト単位"
    set strFileSize to doRound2Dec(numFileSize / numByteUnits) as text
    set strFileSize to (strFileSize & " KB") as text
  else if numFileSize < (numByteUnits * numByteUnits * numByteUnits) then
    # log "mb:メガバイト単位"
    set strFileSize to doRound2Dec(numFileSize / (numByteUnits * numByteUnits)) as text
    set strFileSize to (strFileSize & " MB") as text
  else if numFileSize < (numByteUnits * numByteUnits * numByteUnits * numByteUnits) then
    # log "gb:ギガバイト単位"
    set strFileSize to doRound2Dec(numFileSize / (numByteUnits * numByteUnits * numByteUnits)) as text
    set strFileSize to (strFileSize & " GB") as text
  end if
return strFileSize
end doGetFileSize

####################################
# 小数点以下桁数
####################################
to doRound2Dec(argNumber)
  ## 100で小数点2位 10で1位 1000で3位まで計算
  set numDec to 100 as integer
  set strDecNo to ((round (argNumber * numDec)) / numDec) as text
return strDecNo
end doRound2Dec

####################################
# 数値のカンマ表記を取る
####################################
to doDelComma2Text(argStrNumber)
  set strNumber to argStrNumber as text
  set AppleScript's text item delimiters to ","
  set listDelim to every text item of strNumber
  set AppleScript's text item delimiters to ""
  set strNumber to (listDelim) as text
return strNumber
end doDelComma2Text



|

« [ReName]フォルダにサイズを入れてリネームする | トップページ | フォルダ内一覧HTML(サイズ表記修正) »

AppleScript Math」カテゴリの記事