goo blog サービス終了のお知らせ 

だーちむの備忘録。

個人的備忘録としてのリンクサイトを紹介します。
あくまで「備忘録」なので、お勧めしているかどうかは疑問。。。

「Java入門-BigDecimal クラス-」

2007年02月23日 12時29分00秒 | お役立ちサイト
http://www.nextindex.net/java/class/BigDecimal.html

このサイトに書いてあるとおり、Javaくんは小数点の引き算、割り算が不得意です。
例えば、
5.7-5
という計算式の答えが0.7にならんのですよ。
実際にプログラムを書いてみると、
(プログラムといっても、
System.out.println(5.7-5);
っていう一文だけなんだけど、、、)
0.7000000000000002
という答えが返ってきます。
こりゃ、不思議。
これぞ、知る人ぞ知る、
「コンピュータは2進数の世界である」
という事実からくる誤差なわけで。

で、そうは言っても、
やはり0.7という答えが欲しいので、
そんなときに使うのが、
このBigDecimalクラスです。
多少のパフォーマンスを犠牲にすれば、
10進数計算をしてくれるので、
非常に助かります。

そーんなわけで、
Javaお役立ちサイトシリーズとしてお届けしました3つの知識を駆使して、
作ってみました。
テストプログラム!
…そんなすごいことはできないんですけどね。

<実行結果>
C:\>java BdSub 10,000.25 100.05
9,900.2

C:\>


<ソース>
import java.text.*;
import java.math.*;

class BdSub{
	//引き算
	public static void main(String args[]){
		BigDecimal bd = margeDigit(args[0]);
		
		bd = bd.subtract(margeDigit(args[1]));
		
		String s = separateDigit(bd);
		
		System.out.println(s);
	}

	//BigDecimal型を桁区切りのString文字列へ変換
	public static String separateDigit(BigDecimal bd){
		String s = "";
		
		try{
			NumberFormat nf = NumberFormat.getInstance();
			s = nf.format(bd.doubleValue());
		}catch(Exception e){}
		
		return s;
		
	}

	//桁区切り文字列をBigDecimal型へ
	public static BigDecimal margeDigit(String s){
		BigDecimal bd = null;
		
		try{
			NumberFormat nf = NumberFormat.getInstance();
			bd = new BigDecimal(nf.parse(s).toString());
		}catch(Exception e){}
		
		return bd;
	}
}


----
一般的にはなじみのないシリーズになってしまいましたが、
備忘録ゆえ、お許しくだされ。

「IBM-Merlinの魔術:数字と通貨をフォーマッティングする-」

2007年02月20日 12時24分49秒 | お役立ちサイト
http://www-06.ibm.com/jp/developerworks/java/031024/j_j-mer08133.html

昨日の続き。
今度は、数値に3桁区切りを入れる方。
つまり
123456789
という数値を
123,456,789
という文字列にするワザ。
やはりNumberFormatクラスのメソッドを使います。

しかし、なんで同じページに両方書いたサイトが無いんだろう。。。

「愛のJava256本ノック-NumberFormatを使って、3桁区切りの数値を計算する-」

2007年02月19日 12時52分20秒 | お役立ちサイト
http://www.groovy-number.com/java/sample/NumFormat.html

ふふふ。
探し求めていたものを、ついに見つけました。
Javaくんというのは、型に大変こだわるコで、
数字の3桁ごとにカンマなぞ入れようものなら、
たちまち癇癪を起こし、計算してくれなくなってしまうのです。
「そんなの数字じゃないやい!」ってな具合で。

だいぶこのことで悩んでいたのだけど、
とうとうサンプルページを見つけました!
やはりJavaDocのアノ説明書きを読んだだけでは、
わからんのだよねぇ。
自分でコーディングしなきゃいかんかと覚悟していただけに、
うれし~!

やはりものづくりの基本精神は、
「ものぐさがる」ってことでしょうかね。
自分なんかぴったりの性格だと思うけど。

「JavaでHello World 正規表現編」

2007年02月14日 12時49分49秒 | お役立ちサイト
ひっさびさの「お役立ちサイト」。
本来、こういうちょっとしたサンプルページを覚書しようとして、
このblog書き始めたのにね。

http://www.hellohiro.com/regex.htm

Java関連で何かを調べようとすると「JavaでHello World」
結構引っかかってくるので、このサイトはとても重宝しているのだけど、
このページもその一つ。
正規表現を使って、
文字列が条件に当てはまるかどうかチェックしようとしたわけです。
んで、正規表現の正確な表記法がここにのっかってます。
おかげさまで、意図したテストプログラムが出来ました。

しかし、このパターンマッチ機能って、
案外新しいのね。
1.3のJavaDoc見たら、載ってなかった。。。

「VBScript チュートリアル」

2006年12月18日 12時44分31秒 | お役立ちサイト
http://tryasp.winscom.co.jp/document/vbscript/vbstutor.htm

ひさびさの「お役立ちサイト」。
htmlページにJavaScriptを埋め込む解説サイトは数多あれど、
VBScriptを埋め込む解説サイトはなかなかありません。
その数少ないページの一つ。

しかし、VBSでは意外と機能制限が厳しくて、思うように使えない。。。
Inputboxとか表示出来ないし。
なわけで、結局JavaScriptのpromptで対応したとさ。
めでたしめでたし。

*2006/12/19追記
Inputboxも使えます。変数の型指定がエラーを起こしていた模様。
変数定義は型の指定が出来ないようです。
別の原因でVBSの使用をやめたので、大差ないですが。
ほら、一応備忘録だから。


ちなみにトップページはこちら


「線路情報開示システム」

2006年10月31日 12時45分59秒 | お役立ちサイト
http://www.ntt-east.co.jp/line-info/consent.html(NTT東日本管轄対応)
http://www.ntt-west.co.jp/open/senro/senro_user_info.html(NTT西日本管轄対応)

そうそう頻繁に使うものではありませんが、リンクしておくと便利なページです。
決して鉄道関係のリンクではありません。(笑)
電話番号を元に、NTT収容局からその番号までの
(直進距離ではなく)実際に電話線が引かれている距離と伝送損失が
はじき出されます。

使い方(東日本のほう)は、
リンク先のページで「NEXT」をクリック

「ログイン」ボタンをクリック

電話番号を入力して「実行」ボタンをクリック
です。
MDFを使っている、企業の電話番号等では検索できないかもしれません。
ま、セキュリティのかかったページになってますので、
詳しくはやってみてください。

で、何に使うのかというと、
ADSLを契約した際に、どのくらいの速度がでるもんかなー、という目安になります。
例えば、NTT東日本の「FLET'S ADSL」であれば、
http://flets.com/misc/adspeed.htmlの該当伝送損失ページで確認できます。

意外と我が家は遠かった。局自体はわりと近いのに。
回り込んで引いてあるらしい。
これも光ファイバー導入率が上がれば、いらなくなるのだろうけど。

「給与所得の源泉徴収税額表(新) 日額表」

2006年10月30日 17時57分46秒 | お役立ちサイト
http://www2s.biglobe.ne.jp/~y-murase/tax/zei3.htm

なんのこっちゃ、ってカンジでしょうか。
正直、仕事以外では使いません。ハイ。

アルバイトが1日に稼いだ金額に応じて、
どれだけ税金が徴収されるかを一覧表で探してたら、たどり着きました。
一覧の「丙」のところが、アルバイト就労者が徴収される税額です。
ま、実際はもうちょっと込み入った計算で算出されるのですが。。。
でも、このページのおかげで、データを取ることができました。
ありがとーう!村瀬さん!

官公庁の公式サイトだと、紙面コピーのpdfになっていて、
データとしては使い物になんないのですよ。
どーにかして欲しい。まったく。

「J2EE API ドキュメント」

2006年09月21日 11時41分01秒 | お役立ちサイト
わーい!久々に連続更新できたー!\(^o^)/
毎日更新してる世のブロガーはすごいなぁ。ガチャピンとか(笑)。

さて、知ってる人は知ってる、J2EEのオンラインAPIドキュメントです。
http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/(V1.3:日本語)
http://java.sun.com/j2ee/1.4/docs/api/(V1.4:英語)

これって、サンのどのページがリンク元なのか、わかんないんですよね。
だから、ちゃんとブックマークしとかないと、"HttpServletRequest"とかで
検索かけてトップページを探すしかないことになるわけで。
私の探し方が悪いだけか?

もう、コレがないとかなり困りモードです。
もちろんローカルにも、このドキュメント落としてるけど、
やはりオンラインで見たいときがあるのですよ。

私は主に1.3使いなので、ドキュメントも1.3ですが、
1.4も英語だからってわかりづらくはないです。
英語がわからないから海外旅行行きたいくない、この私が(笑)理解できるので、
この筋の仕事人であれば、誰でも読めると思いますよ~。
正直、1.3の日本語訳の方が、よくわからないことが多いですから。
特にクラスの説明。
メソッドの説明は日本語でも英語でもおおむねよくわかるように出来てるけど。

「ドメイン名の種類」

2006年09月09日 00時17分05秒 | お役立ちサイト
http://www.nic.ad.jp/ja/dom/types.html

トップ・レベル・ドメイン(TLD)一覧です。
たまにどうしても調べたいときがあったりします。
トップ・レベル・ドメインとは、
"goo.ne.jp"とか"yahoo.co.jp"とか"docomo.ne.jp"とか"msn.com"とか"nakata.net"とかとか、、、
いうURLやメールアドレスの中の最後の区切りの文字
"jp"とか"com"とか"net"などのことを言います。

通常、URLやメールアドレスは、
左から順に、粒度の細かい単位で書いてゆきます。
逆に言えば、右に行けばいくほど大きい組織になります。
たとえば、
"hogehoge@mail.goo.ne.jp"
だとすると
「jp(日本)」の「ne(ネットワークサービス提供会社)」の「goo(会社名)」の
「mail(サーバ名)」の「hogehoge(個人特定ID)」
ということになります。ざっくりと言えばだけどね。

…で、トップ・レベル・ドメインってのは、だいたい
国をあらわすことが多いのです。
「多い」と言ったのは、インターネット開発国(ってのもちょっと語弊があるけど)
であるところのアメリカに限り、
国を表すのではなく、組織を表すものを使うことができるためです。
"com"(会社)や"net"(ネットワークサービス提供者)なんかは
メジャーどころですね。
(そうすると、中田ヒデはネットワークサービス提供者なのか?笑)
"mobi"(モバイル用)なんかは、比較的新しいほうかな。
"museum"なんてあるのね。スミソニアンとかかな。
(スミソニアン博物館はネットワークの歴史と切っても切り離せない
関係にあるのです。
気が向いたら、このあたり、blogに書くかも。)
ヴァチカン市国("va")なんてのもある!
ヴァチカンって、ドメイン管理団体があるのか?そもそも。
ネットワーク管理者ぐらいはいるだろうケド。

そうそう、このサイトはJPNICのサイトです。
JPNICってのは、簡単にいえば、
上に書いた、日本のドメイン管理(JPドメインを管理している)団体です。
結局、日本語ドメイン(例えば、"ぐー.jp"とか)ってどうなったんだっけか?JPNICさん。