本文介绍了如何在JavaScript中实现类似于C语言printf的字符串格式化功能。通过引入sprintf-js包,演示了安装、调用以及如何进行时间前补零等具体操作实例,帮助开发者解决JS原生字符串格式化不够灵活的问题。
📁
学习笔记
📅
2019-03-13
所有文章的完整列表,按时间倒序排列

道路地图来自网络数据,已预处理为xml格式。
<?xml version='1.0' encoding='UTF-8'?>
<Roads>
<road m_ID="71283896--1" len="620.98">
<from lon="113.9205606" lat="22.9317667" id="848388981"/>
<to lon="113.9260573" lat="22.9341232" id="2522072722"/>
</road>
<road m_ID="553852656--2" len="322.34">
<from lon="113.9529339" lat="22.9448978" id="5345735265"/>
<to lon="113.9516926" lat="22.9475618" id="5345735267"/>
</road>
</Roads>
解析:一个road节点代表一条道路,len代表道路抽象长度,from,to子节点分别表示道路两端端点。
赋值道路端点.
/**
* 路口类,记录着该路口的点坐标,以及其相连的方向道路节点组
* | |
* | | |
* | 1 2 |
* | | |
* -------- --------
* 3 5
* - - - - - - - -
* 4 6
* -------- --------
* | | |
* | 7 8 |
* | | |
* | |
* 如上图(1,2), (3,4), (5,6), (7,8)在同一个方向,我将其称为四组方向道路节点Node.
* 其中,Node.inRoadID=1, Node.outRoadID=2;
* Node.inRoadID=4, Node.outRoadID=3;
* ...
* 根据车辆靠右行原则以此类推.
*/
class CrossRoad {
public:
CrossRoad(float fLon,float fLat) : m_fLat(fLat),m_fLon(fLon){};
/**
* 重载运算符 (==) 判断两个路口是否为同一个
*/
bool operator==(CrossRoad &crossRoad);
/**
* 添加道路节点ID
* @param in 入度
* @param out 出度
* @param atan2 该点与方向道路的atan2值
*/
void addNode(int in,int out,double atan2);
public:
//唯一标示符
int m_nID;
//经纬度的定义
float m_fLon, m_fLat;
vector<Node> JunctionRoad;
//该路口的交通灯
TrafficLight m_CTrafficLight_Light;
};
CrossRoad A,B