2016-03-23 12 views
1

Ich versuche, den Wert 9234567891234567 in einem Zahlentyp SPListItem Feld zu speichern. Der zugrunde liegende C# -Typ für ein Sharepoint-Nummernfeld ist Double.Wie speichert man die Nummer mit mehr als 15 Ziffern in Sharepoint?

Als ich 9234567891234567 zu einem doppelten C# var zuweisen, dann hält es 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

Dies ist die Inakurität eines Doppelten, wenn zu viele Positionen verwendet werden. Ziehen Sie stattdessen die Verwendung einer Dezimalzahl in Betracht. – Mafii

+0

Wie speichern Sie eine Dezimalstelle in Sharepoint? – kevinob

+0

oh ich weiß es nicht. Ich weiß nur, dass das Problem Ihre Beschreibung ist C# und die Lösung in C# ist eine Dezimalstelle, sorry ... – Mafii

Antwort

1

Sie werden es hassen, aber die Antwort ist „gar nicht“.

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

Ich zitiere:

Sowohl die Anzahl und Währungsspaltentypen speichern numerische Werte. Verwenden Sie eine Zahl Spalte, um numerische Daten für mathematische Berechnungen zu speichern, die keine finanziellen Berechnungen sind oder keine hohe Genauigkeit von erfordern. Verwenden Sie eine Währungsspalte, um numerische Daten für finanzielle Berechnungen zu speichern, oder in Fällen, in denen Sie keine runden Zahlen in Berechnungen möchten. Im Gegensatz zu einer Zahlenspalte ist eine Währungsspalte genau 15 Ziffern links vom Dezimalpunkt und 4 Ziffern rechts davon. Die Spaltentypen "Zahl" und "Währung" enthalten vordefinierte Formate , die bestimmen, wie Daten angezeigt werden.

listet die Datentypen des Sharepoints auf, und beide numerischen Typen (Nummer, Währung) sind auf 15 Ziffern begrenzt.

Was bedeutet, dass Sie es als String speichern müssen, mit all den negativen Folgen, die das hat. Sharepoint stellt viel weniger Funktionalität zur Verfügung als eine unformatierte Datenbank, z. B. wenn keine großen Integer-Datentypen vorhanden sind.

+0

Danke für die Klärung - das klingt wie Zugriffsprobleme noch einmal - leider typisch Microsoft in gewissem Maße . – Mafii

+0

Sortieren von. Am Ende. Sharepoint soll kein "seriöser Datenbankersatz" sein. Es macht seinen Job ganz gut - aber Sie müssen bei Randfällen vorsichtig sein. 15-stellige Zahlen sind ziemlich ungewöhnlich für Sharepoint. – TomTom

+0

wahr, dass ... Aber es ist manchmal traurig dafür verwendet – Mafii