Jag använder mySQL och ASP (classic) för att hantera data. Säg att jag t.ex. lagrar ett decimaltal 55.7 (med decimalpunkt) i databasen. (jag har kollat så att det verkligen ligger med decimalpunkt i mySQL) När jag sedan läser tillbaka talet till ett inputfält på en sida i min läsare så har punken bytts ut mot ett decimalkomma och går inte att hantera som ett decmaltal längre. Vem faan byter ut mina decimalpunkter mot komma?
Känner du någon där som man kan fråga. Glömde att skriva att jag ändrat i nationella inställningar att punkt skall gälla och talat om för Firefox att USA-engelska kommer först i språklistan. Kan det vara så jävligt så att servern ändra från punkt till komma. Den är ju svenskonfigurerad? mySQL accepterar punk men inte komma som tal så där borde det vara ok.
Det är ju själva faan att Sverige skall ställa till det hela tiden med sina ÅÄÖ komma och invandrare och all annan skit.
Vad är det för datatyp på det aktuella fältet?
Om det är en float/real eller vad det heter i MySQL
så finns det ju ingen koppling mellan det du läser in
och det du läser ut, det finns ingen decimalavskiljare
i själva databasen så att säga. Så det beror sedan på
vardera änden vad som används.
Man kan inte se på en float om punkt eller komma användes
vid inläsningen...
Jag vet inte om det här kan bidra men i slutet av åttiotalet åkte ett gäng från mitt företag till USA och skulle anpassa ett bildbehandlingssystem åt en kund. De hade använt Excel till massor av saker.
Väl på plats upptäckte de att Excel inte kunde läsa filerna som var sparade på datorer med svensk Excel. Inte heller kunde de få tag på svensk Excel i USA. Vi fick skicka svensk Excel med kurir. Det verkade som om Excel sparade formler som text.
Humor? Vi skrattade inte då men gör det gärna nu.
Jag har skrivit ett antal program för signalbehandling och upptäckt behovet att acceptera både decimalkomma och decimalpunkt i textfilerna. Anledningen är uppenbar.
Jag hämtade ett excel-ark från nätet och det var markerat som amerikansk varför det var decimal-punkt istället för decimal-komma. En ändring av de få fält jag skulle fylla i till svensk standard och det var löst.
Det har helt klart med nationella inställning av visning av datum/tid osv. vilket ju kan grundinställas i datorn till t.ex. amerikansk visning.
Jag vet inget om formaten på MS sparade filer. Det enda jag vet är att i slutet av åttiotalet var det skillnad mellan filformaten i svensk och USAnsk Excel.
sodjan skrev:Vad är det för datatyp på det aktuella fältet?
Om det är en float/real eller vad det heter i MySQL
så finns det ju ingen koppling mellan det du läser in
och det du läser ut, det finns ingen decimalavskiljare
i själva databasen så att säga. Så det beror sedan på
vardera änden vad som används.
Man kan inte se på en float om punkt eller komma användes
vid inläsningen...
I mySQL är det angivet som "decimal(9,2), Nullable"
Eftersom jag kan läsa ut det från databasen direkt in i ett textfält så hanteras det väl som text antar jag. När jag vill lägga ihop flera sådana textfält till ett tal så använder jag funktionen
Innehåller något av texterna komma i stället för punkt så försvinner decimalerna och endast heltalsdelen blir kvar.
Jag kan naturligtvis lösa problemet relativt enkelt genom att hoppa till en funktion som byter ut kommatecknet mot en punkt så snart värdet i ett fält ändras. Men det vore ju intressant att veta varför problemet uppstår.
Men innan det så bytte jag ut Firefox svenska version mot den Engelska och ändrade datorns landsinställning helt till USA. Så nu borde allt Svenskt vara utplånat (förutom att själva Win7 är Svenskt) Men icke sa Nicke. decimalkommat hänger kvar trots att det är lagrat som en punkt. Datorernas underbara värld. Jag hittade att det är en bugg i Win7 just om detta. Gjorde som det stod men inte faan hjälpte det. Så det får bli en javascriptlösning.