03. marts 2004 - 14:41
Der er
18 kommentarer og 3 løsninger
Tal - nu også med punktummer
Hej Kan man ikke på en smart måde udskrive tal med punktum således at 1000000 bliver til 1.000.000 ?
Annonceindlæg fra Pax8
03. marts 2004 - 14:43
#1
Med CSS? Mener du ike JavaScript?
03. marts 2004 - 14:44
#2
css
03. marts 2004 - 14:45
#3
altså inde i font-tagget
03. marts 2004 - 15:23
#4
nope. Og font har SLET ikke noget at gøre med css
03. marts 2004 - 15:55
#5
ahhh, jeg bruge f.eks. denne til at lave begyndelsbogstavet stort: <font style="text-transform: capitalize;".... Så må der vel også findes en, som indsætter nogle punktummer.... det vil jeg synes, var nærliggende.
03. marts 2004 - 15:59
#6
Jo det kan da godt være at det er nærliggende. Men det er som sagt ikke mulighed for det med css.
03. marts 2004 - 16:00
#7
lol det blev kludret - "Men det er der som sagt ikke mulighed for med css."
03. marts 2004 - 17:27
#8
Det kan klares med noget sjov javascript, men ellers ikke !-)
03. marts 2004 - 17:28
#9
Ok, jeg overgiver mig til js så ;) Smider i scriptet?
03. marts 2004 - 17:45
#10
<script language="javascript" type="text/javascript"> function formatTusind(fld){ val = fld.value; if(val.match(/\./g))val = val.replace(/(\.)/g,""); if(!val.match(/^\d+$/)||4>val.length)return; val = val.split("").reverse().join(""); val = val.replace(/(\d{3})/g,"$1."); val = val.split("").reverse().join(""); if(val.charAt(0)==".")val = val.substring(1); fld.value = val; } </script>
03. marts 2004 - 17:56
#11
Takker, kan du lige hjælpe mig lidt, jeg kan ikke få det til at virke. document.getElementById("div_Free_All").innerHTML = formatTusind(strFreeAll); function formatTusind(fld){ val = fld; if (val.match(/\./g))val = val.replace(/(\.)/g,"") { if (!val.match(/^\d+$/)||4>val.length) { return; } val = val.split("").reverse().join(""); val = val.replace(/(\d{3})/g,"$1."); val = val.split("").reverse().join(""); if (val.charAt(0)==".")val = val.substring(1) { return val; } } }
03. marts 2004 - 18:01
#12
Du har brugt for mange kræfter på at indsætte overflødige {}, så du er kommet til at indsætte et par, som absolut ikke må være der !-) -- men da du så åbenbart godt vil have din kode formatteret sådan, bliver det til: function formatTusind(fld){ val = fld; if (val.match(/\./g))val = val.replace(/(\.)/g,"") { if (!val.match(/^\d+$/)||4>val.length) { return; } val = val.split("").reverse().join(""); val = val.replace(/(\d{3})/g,"$1."); val = val.split("").reverse().join(""); if (val.charAt(0)==".") { val = val.substring(1); } return val; } }
03. marts 2004 - 18:05
#13
-- øv, og så overså jeg endnu flere: function formatTusind(val){ if (val.match(/\./g)) { val = val.replace(/(\.)/g,"") } if (!val.match(/^\d+$/)||4>val.length) { return; } val = val.split("").reverse().join(""); val = val.replace(/(\d{3})/g,"$1."); val = val.split("").reverse().join(""); if (val.charAt(0)==".") { val = val.substring(1); } return val; }
03. marts 2004 - 19:45
#14
Det virker fint, hvis jeg skriver: formatTusind("1000000000") Men hvis jeg skriver: formatTusind(strFreeAll) Siger den "objekt expected" selvom strengen StrFreeAll kun indeholder tal, sikkert fordi strengen ikke er formateret korrekt. Jeg har prøvet at sige: formatTusind(int(strFreeAll)) Men det virker heller ikke.
03. marts 2004 - 23:43
#15
Overfører du måske et tal ?-) -- for så skal du starte med: function formatTusind(val){ val = "" + val; if (val.match(/\./g)) {
05. marts 2004 - 12:00
#16
<ole> Du kan også lave det uden RegExp: function formNumb(num) { for ( var t=num.split(""),num="",i=0,j=t.length-1; i<t.length; i++,j-- ) { num += (j%3 || j==0)? t[i] : t[i]+"."; } return num; } bla = "1234567890789"; alert( formNumb(bla) ); ... og sådan kan du også skrive funktionen: function formNumb(num) { for ( var t=num,num="",i=0,j=t.length-1; i<t.length; i++,j-- ) { num += (j%3 || j==0)? t.charAt(i) : t.charAt(i)+"."; } return num; } ... der er mange muligheder :) /mvh </bole>
05. marts 2004 - 12:02
#17
Takker - tryk svar alle :)
05. marts 2004 - 12:09
#18
:o)
05. marts 2004 - 14:08
#19
Velbekomme '-)
05. marts 2004 - 15:29
#20
Tak ... og vi kan da godt lige nappe en enkelt mere: function formNumb(num) { for ( var t="",i=num.length; num.length>0; i-=3 ) { t = num.substr( i ) + ((t!="")? "." : "") + t; num = num.substr( 0, i ); } return t; } /mvh
06. marts 2004 - 07:32
#21
-- tak for points ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling