2011-08-22 7 views
0

任意の文字列を変換したい(または文字列ハッシュを簡単に処理するために)0と1の間の浮動小数点数に変換したいとします。目的は、指定された文字列のカラーコード。ユーザーは、その名前から生成された同じ色のエンティティを常に表示します。あなたがアルゴリズムを作成するために私たちを求めているので任意の文字列を範囲0と1で浮動小数点に変換する

var hashed:String = MD5.hash(input); // creates a 32 long hexa 
const max:Number = Number("0xffffffffffffffffffffffffffffffff"); 
var hashedHexa:Number = Number("0x" + hashed); 
return hashedHexa/max; 
+0

あなたが何を求めているのか分かりません。あなたはアルゴリズムを念頭に置いていますか?または私たちがあなたのために作成することを期待していますか? – JeffryHouser

+0

アルゴリズムを探しています – spupek

+0

私はこれを実験しています: var hashed:String = MD5.hash(input); // 32の長いヘキサを作成する const max:Number = Number( "0xffffffffffffffffffffffffffffffff"); var hashedHexa:Number = Number( "0x" + hashed); リターンhashedHexa/max; – spupek

答えて

1

;:

OPはコメントでこのコードを(読みやすくするためにここに含まれています)に含まそうする方法はたくさんあります。私はcharCodeAtメソッドで何かを試してみるかもしれません。概念的には次のようなものです:

public function stringToDecimal(value:String):Number{ 
var results : Number = 0; 
// loop over each character in string 
for(var index:int = 0;index< value.length; index++){ 
    // this code turns each character in the string to a number and adds them all together 
    // divide by 100 b/c we know all ASCII charcodes will be between 0 & 127. This will give 
    // a decimal result 
    results += (value.charCodeAt(index)/100); 
} 
return results 
} 

このアルゴリズムでは、すべての文字列が一意の番号を返すとは限りません。それはあなたの要件の一つではありませんでした。

関連する問題