2016-03-23 16 views
1

Number Type SPListItemフィールドに値9234567891234567を格納しようとしています。 Sharepoint Numberフィールドの基になるC#タイプはDoubleです。Sharepointに15桁以上の番号を保存する方法は?

私は二重のC#のVARへ9234567891234567を割り当て、それは9234567891234568.

SPListItem items = list.GetItemById(siteID); 
var value = Convert.ToDouble("9234567891234567"); 
//pb is that value holds 9234567891234568.0 
items[fieldName] = value; 
items.Update(); 
//just to check 
double ret = (double) items[fieldName]; 
Console.WriteLine(ret.ToString("F")); 
//outputs 9234567891234570.00 
+0

あまりにも多くの位置を使用すると、これは2倍になりません。代わりに小数点の使用を検討してください。 – Mafii

+0

どのように10進数をSharepointに保存しますか? – kevinob

+0

ああ、私は知らない。私はちょうどあなたのdiscribingがC#であり、C#のソリューションが小数点を使用していることを知っています。残念です... – Mafii

答えて

1

を保持しているあなたはそれを嫌うだろうが、答えは「全くない」です。

https://support.office.com/en-us/article/Site-column-types-and-options-0d8ddb7b-7dc7-414d-a283-ee9dca891df7#__toc277149825

引用私にしてみましょう:

番号と通貨の列タイプの両方が数値を格納します。 数値列を使用して、数値計算の数値データを に格納します。このデータは財務計算ではなく、高い度合いの の精度を必要としません。金融列 の計算、または 計算で丸数字を必要としない場合の数値データを格納するには、通貨列を使用します。数値列とは異なり、通貨列は小数点の左側に15 の数字が、右側には4桁の数字が表示されます。 数値と通貨の両方の列の種類には、データの表示方法を決定する定義済みの書式 が用意されています。

は、共有ポイントのデータタイプをリストし、両方の数値タイプ(数値、通貨)は15桁に制限されています。

これは文字列として保存する必要がありますが、それにはすべて悪影響があります。 Sharepointは、例えば、大きな整数のみのデータ型を持たないなど、未加工のデータベースよりもはるかに少ない機能を提供します。

+0

clarifcationありがとう - これは、 。 – Mafii

+0

並べ替え最後に。 Sharepointは「重大なデータベースの置き換え」ではありません。それは非常にうまくいっていますが、エッジケースについては注意が必要です。 15桁の数字は、sharepointの意味ではまれです。 – TomTom

+0

それは本当...しかし、それは悲しいことに時々それに使われています – Mafii

関連する問題