Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Consiglio su numeri e variabili

    ciao a tutti ho questo problema:

    ho queste varibili:
    latrh=Replace(objRS("latitude"),",",".")
    longrh= Replace(objRS("longitude"),",",".")
    lat_c = Request.QueryString("lat")
    long_c = Request.QueryString("long")

    poi ho una funzione che mi calcola seni coseni ecc... se scrivo così funziona (i numeri sono il response.write delle variabili):

    response.write distance(41.3969482727389, 2.15932846069336, 41.387917, 2.169919, "K") & " Km
    "

    se scrivo così:
    response.write distance(latrh, longrh, lat_c, long_c, "K") & " Km
    "

    non funziona oppure mi da dei risultati completamente sballati :master:
    avete qualche idea del motivo?

  2. #2
    response.write distance(cdbl(latrh), cdbl(longrh), cdbl(lat_c), cdbl(long_c), "K") & " Km
    "

  3. #3
    ciao optime avevo già provato questa soluzione ma mi da errore:

    Chiamata di routine o argomento non validi: 'sin'

    questa è la funzione:
    Codice PHP:
    const pi 3.14159265358979323846
                        
    Function distance(lat1,lon1,lat2,lon2,unit)
                              
    Dim thetadist
                              theta 
    lon1 lon2
                              dist 
    sin(deg2rad(lat1)) * sin(deg2rad(lat2)) + cos(deg2rad(lat1)) * cos(deg2rad(lat2)) * cos(deg2rad(theta))
                              
    dist acos(dist)
                              
    dist rad2deg(dist)
                              
    distance dist 60 1.1515
                              Select 
    Case ucase(unit)
                                Case 
    "K"
                                  
    distance distance 1.609344
                                
    Case "N"
                                  
    distance distance 0.8684
                              End Select
                        End 
    Function 
    '                      This function get the arccos function from arctan function    
                        Function acos(rad)
                              If Abs(rad) <> 1 Then
                            acos = pi/2 - Atn(rad / Sqr(1 - rad * rad))
                          ElseIf rad = -1 Then
                            acos = pi
                              End If
                        End function
                        '  
    This function converts decimal degrees to radians             
                        
    Function deg2rad(Deg)
                            
    deg2rad cdbl(Deg pi 180)
                        
    End Function
                        
    '
                        '  
    This function converts radians to decimal degrees             
                        
    '
                        Function rad2deg(Rad)
                            rad2deg = cdbl(Rad * 180 / pi)
                        End Function 
    riga errore
    dist = sin(deg2rad(lat1)) * sin(deg2rad(lat2)) + cos(deg2rad(lat1)) * cos(deg2rad(lat2)) * cos(deg2rad(theta))


  4. #4
    appena entri nella funzione fatti stampare i valori passati e controllali

  5. #5
    azz ecco praticamente se passo i numeri:
    response.write distance(41.3969482727389, 2.15932846069336, 41.387917, 2.169919, "K") & " Km
    "

    e stampo poi lat1,lon1,lat2,lon2 della funzione il risultato è (mi toglie il punto e mette la virgola):
    41,3969482727389
    2,15932846069336
    41,387917


    se invece passo le variabili:
    response.write distance(cdbl(latrh), cdbl(longrh), cdbl(lat_c), cdbl(long_c), "K") & " Km
    "

    il risultato è (mi toglie il punto e non mette la virgola):
    413969482727389
    215932846069336
    41387917

    :master:

  6. #6
    perché vedo 3 numeri se ne passi 4?

  7. #7
    ahh.. beh perchè ho postato solo i 3 cmq il quarto è uguale
    2,169919
    e nel secondo caso
    2169919

  8. #8
    un altro controllo

    dopo

    latrh=Replace(objRS("latitude"),",",".")
    longrh= Replace(objRS("longitude"),",",".")
    lat_c = Request.QueryString("lat")
    long_c = Request.QueryString("long")

    fatti stampare i valori

  9. #9
    tutti i valori sono esatti ...

    Latrh: 41.3969482727389
    longrh: 2.15932846069336
    long_c: 2.169919
    lat_c: 41.387917

    cmq ho fatto altre prove
    se scrivo così:
    latrh=41.3969482727389
    longrh=2.1593285222223434534534
    lat_c=41.387917
    long_c=2.169919

    e poi faccio
    response.write distance(latrh, longrh, lat_c, long_c, "K") & " Km
    "

    funziona tutto perfettamente

    se invece scrivo:
    lat_c = Request.QueryString("lat")
    long_c = Request.QueryString("long")

    se faccio un response.write di lat_c e long_c il risulato è giusto
    long_c: 2.169919
    lat_c: 41.387917

    nada

  10. #10
    prova con

    lat_c = CDBL(Request.QueryString("lat"))

    ecc

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.