10. januar 2006 - 12:05 
												Der er
									10  kommentarer													og 					1  løsning									 
									
		 
		
			
Formater double som regional settings 
			Hej eksperter, har en klient der skal vise nogle double værdier. Disse skal formateres efter regional settings. Jeg har prøvet Double amount = new Double(345987.246);  NumberFormat numberFormatter;  String amountOut;  numberFormatter = NumberFormat.getNumberInstance(Locale.getDefault());  amountOut = numberFormatter.format(amount);  System.out.println(amountOut + " " + Locale.getDefault().toString()); Som giver mig 345.987,246 da_DK Men min decimal seperator er angivet til punktum ikke komma i Regional settings i Windows. Køre Java 1.4.2_06
					
		
	 
Annonceindlæg tema 
 
Forsvar & beredskab 
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
 
 
	
		
								
					
				10. januar 2006 - 12:39  
				#1 
			 				 
						
		 
		
			resultatet er logisk Locale.getDefault() henter dansk locale fordi din PC generelt er sat til dansk NumberFormat.getNumberInstance(Locale.getDefault()) henter så en formatering til dansk intet kigger på dine faktiske settings
		
		
	 
	
		
								
					
				10. januar 2006 - 12:41  
				#2 
			 				 
						
		 
		
			det løser selvfølgelig ikke dit problem jeg ved ikke engang om dit problem kan løses i Java
		
		
	 
	
		
								
					
				10. januar 2006 - 13:07  
				#3 
						
		 
		
			Troede Locale.getDefault() var mine valgte settings damn. Så løsningen ville være at lave mit eget Locale som folk skal enes om.... Oh No....
		
		
	 
	
		
								
					
				10. januar 2006 - 13:14  
				#4 
			 				 
						
		 
		
			hvis du kigger på Locale klassen så vil du se at den kun indeholder land, sprog, diverse forkortelser for land etc. - overforsimplet indeholder Locale.getDefault()  en String med "da-DK" alt det spændende slåes op ved hjælp af Locale men indeholdes ikke i Locale
		
		
	 
	
		
								
					
				10. januar 2006 - 14:28  
				#5 
						
		 
		
			Ok med locale mente jeg egentlig bare nogle formaterings masker. Kunne man rode sig ud i noget JNI eller er det bare at komplicere tingene?
		
		
	 
	
	
	
		
								
					
				10. januar 2006 - 14:42  
				#6 
			 				 
						
		 
		
			hvsu du kan find einfo i registry så er et JNI kald til at hente det lige ud af landevejen
		
		
	 
	
		
								
					
				10. januar 2006 - 14:43  
				#7 
			 				 
						
		 
		
			hvis du kan finde info i ...
		
		
	 
	
		
								
					
				10. januar 2006 - 14:48  
				#8 
						
		 
		
			HKEY_USERS/.Default/Control Panel/International/sDecimal, er det noget du ligge inde med som exempel? :-)
		
		
	 
	
		
								
					
				07. april 2006 - 04:57  
				#9 
			 				 
						
		 
		
			jeg har det her stykke C kode liggende: void getinfo(char *key, char *name, char *info) {   HKEY hk;   if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, key, 0, KEY_READ, &hk) == ERROR_SUCCESS)   {     DWORD valuelen,type;     BYTE value[1024];     valuelen = sizeof(value);     if(RegQueryValueEx(hk, name, NULL, &type, value, &valuelen) == ERROR_SUCCESS)     {         strcpy(info,(char *)value);     }   }   RegCloseKey(hk); } det bør kunne wrappes i noget JNI
		
		
	 
	
		
								
					
				19. april 2006 - 09:51  
				#10 
						
		 
		
			Smid et svar Arne, desværre har jeg ikke haft tid til at rode med det så en mindre kompliceret løsning er blevet implementeret.
		
		
	 
	
		
								
					
				19. april 2006 - 12:46  
				#11 
			 				 
						
		 
		
			ok
		
		
	 
	
		
	
		
		
		
			
			Kurser inden for grundlæggende programmering