perl - Perl 中的对称和传递自定义单位转换

标签 perl unit-conversion

我定义了以下自定义单位(伪代码):

unix_days = unix_seconds/86400; 
nasa_seconds = unix_seconds - 946728000; 

这让我可以直接转换 unix_secondsunix_days或转换unix_secondsnasa_seconds .

但是,我不能直接转换 unix_days返回 unix_seconds无需编写另一个公式。

同样,我无法转换 nasa_secondsunix_days不写
附加公式。

是否有一个聪明的 Perl 子程序或包可以让我这样做
无需编写附加功能?更具体地说,自定义单位
转换包:
  • 可以算出单位转换函数的倒数。例如,
    f(x)=x/86400相反是 g(y)=y*86400 .
  • 可以根据需要应用传递性。例如,如果 unix_seconds = nasa_seconds + 946728000 (通过反函数)和 unix_days = unix_seconds/86400 ,我们可以结合这些直接从 nasa_seconds 转换至 unix_days .

  • 我可以以不寻常的方式编写我的转换公式,如果
    需要。例如,摄氏度到华氏度可以写成:
    C to F: *1.8 +32 
    

    这种形式很容易反转:只需按照向后和向后的步骤进行
    反向,即:
    F to C: -32 /1.8 
    

    这样的事情存在吗?

    最佳答案

    Physics::Unit应该提供您需要的设施。

    关于perl - Perl 中的对称和传递自定义单位转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25941399/

    相关文章:

    android - 需要单位转换器的程序逻辑

    python - 标准Django/python单位转换包

    perl - 构建 Perl 模块时如何处理丢失的 CORE/config.h?

    perl - 如何使用32位Perl解冻使用64位Storable卡住的内容?

    mysql - perl,mysql - 将 csv 文件上传到 mysql 的快速方法?

    xml - Perl XML::LibXML,findnodes只能读取XML文件的根目录

    r - 将以英寸为单位的高度字符向量转换为厘米?

    vb.net - 在VB中将字符串或base10转换为base 2

    perl - 如何正确使用error.pm提供的perl中的try catch?

    c++ - 我的温度转换有什么问题?