- PR -

[VS2005]java.text.DecimalFormatは組み込めない?Importで取り込む方法

1
投稿者投稿内容
ぴぃ子
常連さん
会議室デビュー日: 2008/02/21
投稿数: 34
投稿日時: 2008-03-28 11:56
いつもお世話になっています。

クライアント側で数値のフォーマット関数がないか調べています。
(カンマ編集やゼロサプレス、ゼロ詰めなど)
色々と調べてみるうちに、javaではjava.text.DecimalFormatでフォーマット関係が
できるとわかりました。

ですが、これをASP.NET(aspx)に組み込もうとするのですが
まだまだ勉強不足のせいもあり、組み込むことができません。

(例その1)
<%@ Page ...(省略)... import="java.text.DecimalFormat" %>
このようにすると、「名前空間が見つからないもしくは…」の様に定義でエラーとなる

(例その2)
<%@ Import Namespace="java.text.DecimalFormat" %>

function TestFormat(){
DecimalFormat fmtdec = new DecimalFormat("0000");
}
定義自体でエラーにはならないのですが、java.text.DecimalFormatは有効になっていないのか(?)、
「";"がありません」の実行時エラーとなります。

これはjava.text.DecimalFormatはVS2005では使用できないということでしょうか?

どうぞよろしくお願い致します。



[ メッセージ編集済み 編集者: ぴぃ子 編集日時 2008-03-28 12:05 ]
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-03-28 12:27
「クライアント側で」という言葉の意味がよくわかっていないので、的外れだったらすみませんが
このへんこのへんを読めば幸せになれるのではないかと思います。

[追記]
HTML上でJavaScriptなどを駆使してという話でしたら、上のお話は無視しちゃってください。
[/追記]

[ メッセージ編集済み 編集者: rain 編集日時 2008-03-28 12:35 ]
ぴぃ子
常連さん
会議室デビュー日: 2008/02/21
投稿数: 34
投稿日時: 2008-03-28 12:46
rainさん。
 お返事ありがとうございます。
「クライアント側」というのは、サーバへ送らずに処理するjavaScriptで記述している
ロジックというつもりで記述しました。
(ファイル分離で開発している場合のaspxのソースにロジックは記述)
※これもなんか分かりづらい説明ですみません。

MSDNを読んでみました。
これも組み込み方に技が必要なのでしょうか…?単純には使用できませんでした…。(涙
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-03-28 13:08
先ほど書いたのはサーバ側で処理する場合ですので、今回の件では使えないですね。
ちょっと調べてみましたが、JavaScriptで数値を書式指定できるメソッドなどは見あたりませんでした。

ただ、探している途中でこんなサイトを見つけましたので、参考になるかもしれません。
http://folomy.jp/fhpg/utility/script/s0003.htm

もし使うのであれば、ここに利用規定があります。
http://folomy.jp/fhpg/utility/script/index.htm
ぴぃ子
常連さん
会議室デビュー日: 2008/02/21
投稿数: 34
投稿日時: 2008-03-28 17:37
rainさま、お返事ありがとうございます。

以前はゴリゴリでないと無理だったようですが
今では少しは進化しているようで、当初にも述べましたjava.text.DecimalFormat
なるものもがいるのですが…。
これはVS2005で使用しているjavaでは使用できないのでしょうか?

よく「勉強の為に…」という話もありますが、あるもので使用できるのであれば
利用したいので…。

みなさん、ご存知であればどうぞよろしくお願い致します。
未記入
会議室デビュー日: 2008/03/28
投稿数: 3
投稿日時: 2008-03-28 22:10
いまさら聞けないJavaScript入門
http://www.atmarkit.co.jp/fwcr/rensai/imasara02/imasara02_1.html
引用:

JavaScriptとよく似た名前のプログラミング言語が「Java」です。関連性があるかのように思えますが、まったく関係がありません。


ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-03-28 23:37
なんか主さんの躓きがどこらへんにあるのか理解できませんが・・・

>>ただ、探している途中でこんなサイトを見つけましたので、参考に
>>なるかもしれません。
>>http://folomy.jp/fhpg/utility/script/s0003.htm

このJavaScriptはごらんになった上で「他にありませんか?」って聞いてますか?

クライアント側で処理する必要があるのに、サーバーサイドでImportしても
意味が無いことは理解していますか?

クライアントであれば、Javaクラスは以下のように宣言して呼び出すことが
出来ます。

<script src="/java-resources/DecimalFormatConverter.class" id="DFC"></script>

DecimalFormatConverter.class は、アプレットで作成する必要はありますが、
これで Java のプログラムを JavaScript から呼び出すことは出来ます。
が、DecimalFormat の対応バージョンによっては、IEでは動かないかもしれ
ません。デフォルトVMがマイクロソフト製VMだとたぶん期待する動作はしない
でしょう。クライアントにも、DecimalFormat クラスを実行可能なJavaVMが
インストールされていて、なおかつ、MS-VMの代わりにこのJavaVMを使う、
というIEの設定になってないと現実的には、使えないでしょうね。

そこで rain さんの指摘された URL に書いてある printf メソッドです。
使い方は、C言語入門でも見てください。


>>以前はゴリゴリでないと無理だったようですが
以前のことを理解されているなら、DecimalFormat の実装くらいなんてことない
と思うのですが・・・どうでしょう??# と 0 の数調べてそれにあわせて数字
を当てはめればいいだけですよね?かんま編集はリバースして3桁づつ区切って
それをまたリバースすれば完成ですね。


主さんのご要望は printf() で 90% 達成できますから。残り10%はDecimalFormat
固有の部分ですね。カンマ編集とかは無理かもしれません。
rain さんの指摘された URL を見に行ってみることをお勧めしますよ。




ぴぃ子
常連さん
会議室デビュー日: 2008/02/21
投稿数: 34
投稿日時: 2008-03-29 07:24
未記入さん、ぴあちゃんさん お返事ありがとうございます。

>未記入さん
 まったく関係ないんですね…(涙

>ぴあちゃんさん
 >このJavaScriptはごらんになった上で「他にありませんか?」って聞いてますか?
はい。見た上で聞いています。(いえ、決してケンカを売っているわけではないんですが)
書式の設定の関数は色々と使用頻度も高く、設定するパターンも多いので
何かそろそろ実装されてても…というのが書き込みの元です。

 >DecimalFormat の実装くらいなんてことない と思うのですが…
そうなのかもしれませんが、既に利用できる何かがあればそちらを利用したい。(笑)
それだったら、もう少し違う質問方法にするべきでしたね。スミマセン。
ただ、今までの経緯でJavaScriptでは数値等のフォーマットはできないのはわかっていましたが、数年前と今ではもしかしたら何か変わっているかも?とか思ったり…。(汗)

DecimalFormatを使用するには制限が多そうですね。
変換の関数ロジックで組むことにします。

みなさん、まだまだ理解不足な所、親切にお答えいただき、ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)