Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyliczane cztery ostatnich cyfr
Forum PHP.pl > Forum > Po stronie przeglądarki
agataperz
Witam,

mam taki skrypt:

  1. f.wkasie.value = float_val(f.koniec.value) - float_val(f.kasaasuma.value) - float_val(f.kasabsuma.value)


chciałaby azeby z zmiennej f.wkasie.value wyciagnac cztery ostatnie wartosci

np. wartosc zmiennej: 1234.56
chcialabym aby nowa zmienna posiadała wartosc: 34.56

Niestety nie znam dobrze js i nie wiem jakiej komendy mam użyć
Czy możecie mi pomóc?
agataperz
wlasnie to tez znalazlam tylko mi chodzi azeby wziac 4 ostatnie cyfry (5 z kropka)
a niestety zmienna moze miec rozne wartosci np. 1234.00 albo 234.00 albo 12345.00 itd.
a te komendy zliczaja od cyfry po poczatku a nie od konca. sad.gif
Pyton_000
Wrzucasz sobie funkcję:
Kod
function reverse(s){
    return s.split("").reverse().join("");
}


Przepuszczasz liczbę przez funkcję.
Potem sprawdzasz czy jest . czy nie, jak jest to substr(0,5) jak nie to substr(0,4) i potem ponownie do ww. funkcji
AdIoS_Neo
Cześć,
taki najprostszy kod na szybko:

[JAVASCRIPT] pobierz, plaintext
  1. var n = 1234.56, // liczba z której chcemy wziąć cztery ostatnie
  2. ns = n+'', // konwersja liczby na stringa
  3. nc = 1, // licznik cyfr, ile znaleźliśmy
  4. last4 = '', // zmienna z nową liczbą, 4 ostatnie cyfry z liczby pierwotnej
  5. i; // zmienna pomocnicza do pętli
  6.  
  7. for(i=ns.length-1; i>=0 && nc<=4; i--){
  8. last4 = ns[i] + last4;
  9. if(!isNaN(ns[i])) // zliczamy tylko dodanie liczby, nie kropki
  10. nc++;
  11. }
[JAVASCRIPT] pobierz, plaintext
trueblue
  1. var a=122152234.56;
  2. alert(a.toFixed(2).slice(-5));
agataperz
totalnie sie nie znam na js i znów utknełam

mam ten uzyte komendy w takim zapytaniu:
  1. var a=float_val(f.utargkasa.value) - float_val(f.utargwu.value) - float_val(f.platnosckarta.value) - float_val(f.platnoscpayback.value) + float_val(f.poczatek.value)
  2. var ddd = 5 + (a.toFixed(2).slice(-5));
  3. f.exxitt.value = number_format(ddd, 2, ',', ' ');


wartość exxitt jest wyswietlana w:
  1. <input type="text" name="koniec" size=5 id="exxitt" readonly>


chciałabym wykorzystać zmienna ddd do odjęcia zmiennej a

jak to zrobić?

  1. var b = a - ddd

nie działa
trueblue
  1. var ddd = 5 + parseFloat(a.toFixed(2).slice(-5));
  2. var b=a-ddd;


float_val to jakaś zewnętrzna funkcja? Wydaje mi się, że możesz stosować powyższą (parseFloat);
agataperz
No nie chce działać.

oto cały scrypt może jest jakiś babol którego nie zauważyłam. Czy możecie luknąć?

  1. <script type="text/javascript">
  2. function number_format (number, decimals, dec_point, thousands_sep) {
  3. number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
  4. var n = !isFinite(+number) ? 0 : +number,
  5. prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
  6. sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
  7. dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
  8. s = '',
  9. toFixedFix = function (n, prec) {
  10. var k = Math.pow(10, prec);
  11. return '' + Math.round(n * k) / k;
  12. };
  13. // Fix for IE parseFloat(0.55).toFixed(0) = 0;
  14. s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
  15. if (s[0].length > 3) {
  16. s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
  17. }
  18. if ((s[1] || '').length < prec) {
  19. s[1] = s[1] || '';
  20. s[1] += new Array(prec - s[1].length + 1).join('0');
  21. }
  22. return s.join(dec);
  23. }
  24.  
  25. function float_val(v) {
  26. v = parseFloat(String(v).replace(',', '.'))
  27. return isNaN(v) ? 0 : v
  28. }
  29.  
  30. function zlicz(e) {
  31. var f=document.forms[0]
  32. f.kasaasuma.value = float_val(f.kasaa200.value) * 200 + float_val(f.kasaa001.value) *0.01 + float_val(f.kasaa002.value) *0.02 + float_val(f.kasaa005.value) *0.05 + float_val(f.kasaa010.value) *0.1 + float_val(f.kasaa020.value) * 0.2 + float_val(f.kasaa050.value) * 0.5 + float_val(f.kasaa1.value) *1 + float_val(f.kasaa2.value) *2 + float_val(f.kasaa5.value) *5 + float_val(f.kasaa10.value) *10 + float_val(f.kasaa20.value) *20 + float_val(f.kasaa50.value) *50 + float_val(f.kasaa100.value) *100
  33. f.kasaasuma200.value = float_val(f.kasaa200.value) * 200
  34. f.kasaasuma100.value = float_val(f.kasaa100.value) * 100
  35. f.kasaasuma50.value = float_val(f.kasaa50.value) * 50
  36. f.kasaasuma20.value = float_val(f.kasaa20.value) * 20
  37. f.kasaasuma10.value = float_val(f.kasaa10.value) * 10
  38. f.kasaasuma5.value = float_val(f.kasaa5.value) * 5
  39. f.kasaasuma2.value = float_val(f.kasaa2.value) * 2
  40. f.kasaasuma1.value = float_val(f.kasaa1.value) * 1
  41. f.kasaasuma050.value = float_val(f.kasaa050.value) * 0.5
  42. f.kasaasuma020.value = float_val(f.kasaa020.value) * 0.2
  43. f.kasaasuma010.value = float_val(f.kasaa010.value) * 0.1
  44. f.kasaasuma005.value = float_val(f.kasaa005.value) * 0.05
  45. f.kasaasuma002.value = float_val(f.kasaa002.value) * 0.02
  46. f.kasaasuma001.value = float_val(f.kasaa001.value) * 0.01
  47. f.kasabsuma.value = float_val(f.kasab200.value) * 200 + float_val(f.kasab001.value) *0.01 + float_val(f.kasab002.value) *0.02 + float_val(f.kasab005.value) *0.05 + float_val(f.kasab010.value) *0.1 + float_val(f.kasab020.value) * 0.2 + float_val(f.kasab050.value) * 0.5 + float_val(f.kasab1.value) *1 + float_val(f.kasab2.value) *2 + float_val(f.kasab5.value) *5 + float_val(f.kasab10.value) *10 + float_val(f.kasab20.value) *20 + float_val(f.kasab50.value) *50 + float_val(f.kasab100.value) *100
  48. f.kasabsuma200.value = float_val(f.kasab200.value) * 200
  49. f.kasabsuma100.value = float_val(f.kasab100.value) * 100
  50. f.kasabsuma50.value = float_val(f.kasab50.value) * 50
  51. f.kasabsuma20.value = float_val(f.kasab20.value) * 20
  52. f.kasabsuma10.value = float_val(f.kasab10.value) * 10
  53. f.kasabsuma5.value = float_val(f.kasab5.value) * 5
  54. f.kasabsuma2.value = float_val(f.kasab2.value) * 2
  55. f.kasabsuma1.value = float_val(f.kasab1.value) * 1
  56. f.kasabsuma050.value = float_val(f.kasab050.value) * 0.5
  57. f.kasabsuma020.value = float_val(f.kasab020.value) * 0.2
  58. f.kasabsuma010.value = float_val(f.kasab010.value) * 0.1
  59. f.kasabsuma005.value = float_val(f.kasab005.value) * 0.05
  60. f.kasabsuma002.value = float_val(f.kasab002.value) * 0.02
  61. f.kasabsuma001.value = float_val(f.kasab001.value) * 0.01
  62.  
  63.  
  64. var fff = (float_val(f.kasaasuma.value) + float_val(f.kasabsuma.value)) - (float_val(f.utargkasa.value) - float_val(f.utargwu.value) - float_val(f.platnosckarta.value) - float_val(f.wplata.value) - float_val(f.platnoscpayback.value) + float_val(f.poczatek.value))
  65. f.wkasie.value = number_format(fff, 2, ',', ' ');
  66. f.stankasy.value = number_format(fff, 2, '.', '');
  67.  
  68. var aaa = float_val(f.kasaasuma.value)
  69. f.kasaa.value = number_format(aaa, 2, ',', ' ');
  70.  
  71. var bbb = float_val(f.kasabsuma.value)
  72. f.kasab.value = number_format(bbb, 2, ',', ' ');
  73.  
  74. var ggg = (float_val(f.kasaasuma.value) + float_val(f.kasabsuma.value)) - (float_val(f.utargkasa.value) - float_val(f.utargwu.value) + float_val(f.utargwuwplata.value) - float_val(f.platnosckarta.value) + float_val(f.utargloo.value) - float_val(f.platnoscpayback.value) + float_val(f.poczatek.value) + float_val(f.utarglvm.value) + float_val(f.utargria.value))
  75. f.transfer.value = number_format(ggg, 2, ',', ' ');
  76.  
  77.  
  78. var a=float_val(f.utargkasa.value) - float_val(f.utargwu.value) - float_val(f.platnosckarta.value) - float_val(f.platnoscpayback.value) + float_val(f.poczatek.value)
  79. var ddd = 5 + (a.toFixed(2).slice(-5));
  80. f.exxitt.value = number_format(ddd, 2, ',', ' ');
  81.  
  82. var b=float_val(f.utargkasa.value) - float_val(f.utargwu.value) - float_val(f.platnosckarta.value) - float_val(f.platnoscpayback.value) + float_val(f.poczatek.value)
  83. var ccc = 5 + (b.toFixed(2).slice(-5));
  84. f.konieca.value = number_format(ccc, 2, '.', '');
  85.  
  86. var eee=ccc-b;
  87. f.koniecdnia.value = number_format(eee, 2, ',', ' ');
  88. }
trueblue
A gdzie w tym kodzie dodałaś, to co podałem?
agataperz
ups sorry nie zapisałam poprawionej wersji smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.