質問

Iが正しくオブジェクトのプロパティに格納され、私はAzureストレージ・データベースへの変更を保存すると、二重値(7.11000000003を711として保存される)点を無視して、データベースに格納された値を有します。また、プロパティが711.0に変更されます。

私はこの問題を解決する方法を教えてください。

フィールドはすでにクラスとデータベーステーブルに倍増するように設定されます。

役に立ちましたか?

解決

この問題は、Devのストレージが使用しているカルチャ設定が原因のようです。あなたはDevのストレージDB内のTableRowテーブルを見てみると、データがXMLとして保存され、小数点以下の値は、小数点としてドットを使用しています。ここブラジルでのドットは千単位の区切りです。私はOKをコンマ(PT-BRの小数セパレータ)にドットを変更する、DevのストレージDBにデータを直接編集し、その値を読み取りました。我々はPT-BRの桁区切り文字を使用するときに値が読み取りOKであれば、それはDevのストレージは、私の現在のカルチャ設定を使用していると思われるので、それは、奇妙です。しかし、なぜ文化は、データの保存には適用されませんか?

PS:EN-USに窓をロケールの変更は、問題を解決しました。私はこれが唯一の私はそれについて見つけることができる投稿します。

である理由だと思います

他のヒント

あなたのdouble値は、独自の分野におけるものである、またはそれはのPartitionKeyかのrowKeyフィールドにありますか? PartitionKeyとのrowKeyは常に文字列です。

私は二重のフィールドを持つ行を書き込み、読み込み、簡単なテストを作成し、値がうまく保存されています。

:私はmsdev.comトレーニング(私はint型遅延フィールドを取り、フロートにそれを変更し、明確化のためにMyDoubleにそれを改称)を経由してビルLodinのSMSコードからサンプルSmsMessageクラスを修正しました
public class SmsMessage: TableServiceEntity
{
    public double MyDouble { get; set; }
    public SmsMessage(string destination, string message, double myDouble)
    {
        PartitionKey = destination;
        RowKey = message;
        MyDouble = myDouble;
    }
    public SmsMessage()
        : base("", string.Format("{0:d10}", DateTime.Now.Ticks))
    {
    }
}

Iその後、SmsMessageTableに書き込みます:

smsTable.AddObject("SmsMessages", new SmsMessage(destination, message, myDouble));
smsTable.SaveChanges();

私はテーブル記憶エクスプローラでこれを見ると、私のダブルスは私が(例えば1.2345)、それらを入力する方法があります。

私は、パーティションキーに指定されたユーザー名のために、簡単なLINQクエリで検索します

var results = from m in smsTable.SmsMessages
                      where m.PartitionKey.Equals(txtDestination.Text.Trim())
                      select m;

私の二重の値がすべて保存され、強くダブルスとして入力されます。

どのようにして値をチェックしていますか?あなたがSQLを開くと周りが突っついされる可能性がありますので、ローカル開発ストレージは、ボンネットの下にSQL Expressを使用しています。私はそれを避け、代わりに.NETストレージクライアントライブラリを使用して値を読み戻します。私は、値が正しく戻ってくるだろうと思う。

(多分ローカルSQLバックアップストアに、値を科学的表記に格納されている?)

私は努力に感謝し、おそらく私は十分にケースを公開しなかったが、

、これのどれも本当に私の質問に答えていません。この答えは、ちょうど不当恵みの属性ではありません。恵みは> = 2 upvotesで最良の答えに自動的に帰するべきではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top