紙のパッケージに「B4 100枚 40g/m2」と表示してあることがあるけど、この「40g/m2」は“
A0版の面積は1m2、B0版の面積は1.5m2だから、坪量G (g/m2) の用紙1枚の重さは次のように計算できる。
- An版用紙1枚の重さ=G/2n (g)
- Bn版用紙1枚の重さ=1.5G/2n (g)
このトレーシングペーパーだと、1.5×40÷24=3.75 (g) ということになるらしい。
#!/usr/bin/perl
use utf8;
binmode STDOUT, ':utf8';
binmode STDERR, ':utf8';
binmode STDIN, ':utf8';
while(<>) {
# 単位語の前に数字がない場合「一」を補う
s/(?<![一二三四五六七八九千百十])(?=[兆億万])/一/g;
s/(?<![一二三四五六七八九])(?=[千百十])/一/g;
# 欠けている桁をゼロとして復活させる
s/(?<=兆)(?![一二三四五六七八九][十百千万]?億)/〇億/g;
s/(?<=億)(?![一二三四五六七八九][十百千]?万)/〇万/g;
s/(?<=[兆億万])(?![一二三四五六七八九]千)/〇千/g;
s/(?<=千)(?![一二三四五六七八九]百)/〇百/g;
s/(?<=百)(?![一二三四五六七八九]十)/〇十/g;
s/(?<=十)(?![〇一二三四五六七八九])/〇/g;
# 単位語のうち千百十を消す
s/[千百十]//g;
# 億万でゼロを整理
s/〇〇〇〇[億万]//g;
s/(?<=[兆億万])〇+//g;
# 洋数字に変換
y/〇一二三四五六七八九/0123456789/;
# 3桁毎にコンマを挿入
s/(?<=\d)(?=(\d\d\d)+(?!\d))/,/g;
print $_;
}
# 欠けている桁をゼロとして復活させる
s/(?<=兆)(?![一二三四五六七八九][十百千万]?億)/〇億/g;
s/(?<=億)(?![一二三四五六七八九][十百千]?万)/〇万/g;
# 億万でゼロを整理
s/〇〇〇〇[億万]//g;
# s/(?<=[兆億万])0+//g; #誤
s/(?<=[兆億万])〇+//g; #正
#!/usr/bin/perl
# utf-8テキストを扱うまじない
use utf8;
binmode STDOUT, ':utf8';
binmode STDERR, ':utf8';
binmode STDIN, ':utf8';
while (<>) {
# 数字は半角にそろえておく
y/1234567890/1234567890/;
# 単独の0は「ゼロ」に書き換える
s/(?<!\d)0(?!\d)/ゼロ/g;
# 桁区切りのコンマを取っておく
s/(?<=\d),(?=(\d\d\d)+(?!\d))//g;
# 4桁ごとに区切って万億兆を挿入
s/(?<=\d)(?=\d\d\d\d(?!\d))/万/g;
s/(?<=\d)(?=\d\d\d\d(?=万))/億/g;
s/(?<=\d)(?=\d\d\d\d(?=億))/兆/g;
# 下から1桁ずつ十百千を挿入
s/(?<=\d)(?=\d(?!\d))/十/g;
s/(?<=\d)(?=\d(?!\d))/百/g;
s/(?<=\d)(?=\d(?!\d))/千/g;
# 0になってる桁を削除
s/0[十百千]//g;
s/億0万/億/g;
s/兆0億/兆/g;
s/0//g;
# 十百には1をつけない
s/1([十百])/\1/g;
# 各桁を漢数字に書き換え
y/123456789/一二三四五六七八九/;
print $_;
}
(?<=\d)(?=\d\d\d\d(?!\d))は、
(?<= )
\d
がひとつは見えて (?<=\d)
(?= )
\d\d\d\d
(?!\d)
(←もちろん、文字がなくてもかまわない)(?=\d\d\d\d(?!\d))